python剑指offer面试题_剑指offer面试题Q10 斐波那契数列 python解法
Q10.斐波那契数列
题目描述
写一个函数,输入n,求斐波那契数列的第n项。
解题思路
思路一
递归
递归很简单但是并不能AC
python实现代码
class Solution:
def Fibonacci(self, n):
# write code here
if n <= 0:
return 0
if n == 1:
return 1
return self.Fibonacci(n-1) + self.Fibonacci(n-2)
思路二
动态规划
python实现代码
class Solution:
def Fibonacci(self, n):
# write code here
res = [0]*(n+1)
if n == 0:
return 0
res[0] = 0
res[1] = 1
if n < 2:
return res[n]
for i in range(2, n+1):
res[i] = res[i-1] + res[i-2]
return res[-1]
思路三
循环
python实现代码
class Solution:
def Fibonacci(self, n):
# write code here
f1 = 0
f2 = 1
if n ==0:
return f1
if n == 1:
return f2
for i in range(2, n+1):
f1, f2 = f2, f1 + f2
return f2
以上
今天开学第一天
2019.0.25
python剑指offer面试题_剑指offer面试题Q10 斐波那契数列 python解法相关推荐
- 斐波那契数列 python 高阶解法
斐波那契数列 python 高阶解法 2022.09.27 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以 ...
- 斐波那契数列python循环算法求解_斐波那契数列的算法实现 —— python
斐波那契数列,简单地说,起始两项为0和1,此后的项分别为它的前两项之后. (注:据我百度发现,斐波那契数列的定义并非起始的两项为0和1,而是1和1,鉴于是转发的,在这里不对原作者的文章进行改动,因为, ...
- python侯先生爬楼梯_经典算法题:爬楼梯 ,以斐波那契数列来解题代码案例
网上这题的解题思路主要有两种:动态规划 斐波那契数列 因为我们用斐波那契数列来解,所以我主要描述方法2. 斐波那契数列 又称 兔子数列, 指得是:1.1.2.3.5.8.13.21.--, 在数学上它 ...
- 斐波拉契数列python写法
文章目录 第一种:递推方法 第二种:递归方式 第三种:用一个类写出比较全面的斐波拉契 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonard ...
- 斐波那契数列python递归 0、1、1、2、3_python实现斐波那契数列的多种方式
正文共: 3269字 8图 预计阅读时间: 9分钟 每日分享 The great pleasure in life is doing what people say you cannot do. 人生 ...
- 斐波那契数列(python)
定义: 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列& ...
- 兔子生育问题·斐波那契数列·python
小明考试非常好,妈妈为了奖励小明,给一对刚刚出生的兔子, 兔子可以经过四个月,可以长大称为成年的兔子,可以生育新的兔子, 假设成年兔子,每个月生一对小兔子,问,第n个月共有多少对兔子( ...
- 剑指offer面试题10- II. 青蛙跳台阶问题(动态规划)(递归)(斐波那契数列)
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008, ...
- 剑指offer: 斐波那契数列 python 实现
题目 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 解题思路 判断n是否为0,1,2,对应特殊值: 否则返回第n项 ...
最新文章
- C# 导出到Excel (使用NPOI 1.2.4)
- java basic认证_Basic认证
- DICOM 开发工具总结
- 【机器学习算法专题(蓄力计划)】三、机器学习中的概率论基础精讲
- 离散数学实验题目-图
- php实现多进程、多线程
- Linux的Nginx六:源码|安装
- asp java.class,以下不属于Java程序结构文件的是()。A.asp文件B.java文件C.class文件D.jar文件...
- 【Espruino】NO.12 加速度传感器演示
- php中删除文件夹内容吗,如何使用PHP删除包含内容的文件夹
- 不惑网络人细数应用交付发展史(二)- 一枝独大
- java类加载配置文件_如何在java类中读取Properties配置文件
- sqlserver2010教程百度云盘_郝斌SqlServer2005自学全集视频教程
- Unity3D中英文对照手册
- 纯C++版俄罗斯方块
- EXCEL中发现不可读的内容。是否恢复此工作薄的内容?如果信任此工作薄的来源,请单击”是“
- shell图形化监控网络流量 网络流量的监控工具有很多,如:Mrtg、Cacti、Zabbix等等,他们都有着各自的特点,不同的侧重,只为适合不同的应用场景的各种特殊需求。除了网络流量监控工具以外,还
- vue的两个核心点分别是什么?
- 国企领导与山大王的区别 (转载黑色传奇)
- java输出三维数组
热门文章
- svd降维 python案例_SVD(奇异值分解)Python实现
- python gui入门的例子_Python GUI编程之Tkinter入门之道
- batchsize大小对训练速度的影响
- shell发送邮件函数
- MySQL5.6 新特性之GTID【转】
- 【载誉】致远互联荣获“2017最佳协同管理解决方案”殊荣
- 设计模式2:工程模式(1)
- Java调用.NET webservice方法的几种方式
- PHP5.3.8 + Mysql5.5.18 + Nginx1.1.8 安装使用感受
- IIS的安全配置策略