zoukankan      html  css  js  c++  java
  • 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、当然还有一些比如一个字符串找出出现次数最多的字符。这种也是比较简单的。

  • 相关阅读:
    数据结构的理解
    等价、偏序和全序
    等价、偏序和全序
    二叉树与树的理解
    SICP 习题 (2.10)解题总结: 区间除法中除于零的问题
    div:给div加滚动栏 div的滚动栏设置
    textarea文本域宽度和高度(width、height)自己主动适应变化处理
    OSX: 逻辑卷管理系统Core Storage(1)
    垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
    string实现
  • 原文地址:https://www.cnblogs.com/cbslock/p/10120870.html
Copyright © 2011-2022 走看看