当前位置:   article > 正文

Python面试--编程题_python面试编程题

python面试编程题

1 台阶问题/斐波纳挈

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

第二种记忆方法

第三种方法

2 变态台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

3 矩形覆盖

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

2*n个矩形的覆盖方法等于第2*(n-1)加上第2*(n-2)的方法。

4 杨氏矩阵查找

在一个m行n列二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

5 去除列表中的重复元素

用集合

用字典

用字典并保持顺序

列表推导式

面试官提到的,先排序然后删除.

6 链表成对调换

1->2->3->4转换成2->1->4->3.

7 创建字典的方法

1 直接创建

2 工厂方法

3 fromkeys()方法

8 合并两个有序列表

知乎远程面试要求编程

尾递归

循环算法

9 交叉链表求交点

去哪儿的面试,没做出来.

10 二分查找

11 快排

12 找零问题

13 广度遍历和深度遍历二叉树

给定一个数组,构建二叉树,并且按层次打印这个二叉树

17 前中后序遍历

深度遍历改变顺序就OK了

18 求最大树深

19 求两棵树是否相同

20 前序中序求后序

推荐: http://blog.csdn.net/hinyunsin/article/details/6315502

21 单链表逆置

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Node ( object ) :
     def __init__ ( self , data = None , next = None ) :
         self . data = data
         self . next = next
 
link = Node ( 1 , Node ( 2 , Node ( 3 , Node ( 4 , Node ( 5 , Node ( 6 , Node ( 7 , Node ( 8 , Node ( 9 ) ) ) ) ) ) ) ) )
 
def rev ( link ) :
     pre = link
     cur = link . next
     pre . next = None
     while cur :
         tmp = cur . next
         cur . next = pre
         pre = cur
         cur = tmp
     return pre
 
root = rev ( link )
while root :
     print root . data
     root = root . next
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/1005117
推荐阅读
相关标签
  

闽ICP备14008679号