题目描述 (来源牛客网)
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
思路:非递归方式,自底向上,用局部变量来保存每次计算的结果。(求连续子数组最大和,也可用相同的方式)
class Solution {
public:
int Fibonacci(int n) {
if(n==0) return 0;
if(n==1) return 1;
int a = 0,b = 1;
int m = 0;
int i;
for(i = 2;i <= n;i++){
m = a + b;
a = b;
b = m;
}
return m;
}
};