python笔试常见题

1、冒泡排序:

  冒泡排序算是最基本的python算法了。也算python面试遇到问的最多的了。

  如果是封装成函数。代码如下:

  

  如果初始就一个字典。那么代码为:

  

  冒泡排序的本质就是两两比较。根据结果调换位置。最终达到一个排序的效果。

  注:除此之外。我们还有一种方式,同样可以达到排序的效果:

  

  这种方法属于利用java基础知识进行排序。看起来也没啥难度,就不做解释了。

2、乘法表:

  乘法表出现频率仅次于冒泡。

  

  当然:还有一种蛋疼一点的写法:

  

3、递归函数:

  面试手写递归函数的可能性不如上面两个高。但是面试官问一些python的基础时,经常会问到递归。

  递归基本上分为:计算N的阶乘、斐波拉契数列、幂的递归、汉诺塔问题几大类。

  3.1、计算N的阶乘:

    1、使用reduce函数:

    

    2、自己写个递归:

    

    有点简陋。。。就这么滴吧

    3、for循环:

    

    总结:reduce效率最高,推荐。自定义看起来直观一点。for循环效率最差, 不推荐。

  3.2斐波拉契数列。(一个数列,从3开始每一项都等于前两项的和,那么这个数列就叫斐波拉契数列)

    

  3.3幂的递归。

    

  3.4汉诺塔问题:

    emmmmm我也不清楚。基本也不会问。

4、当然还有一些比如一个字符串找出出现次数最多的字符。这种也是比较简单的。

原文地址:https://www.cnblogs.com/cbslock/p/10120870.html