【剑指Offer】007 斐波那契数列
题目链接:剑指Offer 第七题 牛客网
题目描述:
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
思路:
斐波那契数列定义:
相信很多学过递归的同学都知道斐波那契数列,是作为学习递归的重要例子,但是很多时候我们用递归并没有使我们的算法更简化,或者说过滤出一些无用解,使算法更优化;换句话说,如果我们使用的递归并没有使我们的算法更优化,我们为什么还要用呢?关于更多递归的知识,请参见怎么写一个递归。
那么这道题我们只需要从头开始迭代就好了。
class Solution {
public:
int Fibonacci(int n) {
if(n<=0)return 0;
if(n==1)return 1;
int res=0;
int a=0,b=1;
for(int i=2;i<=n;i++)
{
res=a+b;
a=b;
b=res;
}
return res;
}
};
日期:2018/2/27-23:28