社区
零基础学Python
面试题库
Python环境搭建
登录

/

注册
题目标题

定义Fibonacci数列如下:
0 n=0
f(n)= 1 n=1
f(n-1)+f(n-2) n=2
输入n,用最快的方法求该数列的第n项
Done 动态规划问题 时间复杂度O(n)

难度:初级

python 算法 数据结构
参考解析
  1. def fib_re(n):
  2. result = 0
  3. if(n < 1):
  4. print("Wrong input! ")
  5. return -1
  6. else:
  7. if(n == 1 or n == 2):
  8. return 1
  9. else:
  10. return fib_re(n-1) + fib_re(n-2)

上一题

跳台阶问题---题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。 求总共有多少总跳法,并分析算法的时间复杂度

n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字). 当一个数字删除后,从被删除数字的下一个继续删除第m个数字。 求出在这个圆圈中剩下的最后一个数字。

下一题

习题分类

全部习题 647

python 105

数据分析 33

机器学习 251

深度学习 83

算法 234

计算机视觉 95

NLP 53

推荐系统 53

数据结构 112

推荐习题

输出二叉树的最大路径和的路径。 Python 里面如何生成随机数? 求数独 了解 python 装饰模式么? 能否写一个 demo 约瑟夫环问题 二叉树的最近公共父亲节点 求一个数组的最长递减子序列 比如{9,4,3,2,5,4,3,2}的最长递减子序列为{9,5,4,3,2} 输入一颗二元查找树,将该树转换为它的镜像. 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / \ 6 10 /\ /\ 5 7 9 11 输出: 8 / \ 10 6 /\ /\ 11 9 7 5
课程内容版权归 北京小象科技有限公司 所有 京ICP备14002699号-1 京公网安备 11010502041196号