(一)题目描述
(二)思想方法
1.首先想到的是迭代法,f(n)=f(n-1)+f(n-2)但是有重复计算.
2.for循环记录上一次的f(n-2)
(三)代码实现
//第一种
int Solution::fib(int N)
{
if (N == 0)
return 0;
if (N == 1)
return 1;
else
{
return fib(N - 1) + fib(N - 2);
}
}
2.第二种class Solution {
public:
int fib(int N) {
if (N == 0)
return 0;
if (N == 1)
return 1;
int temp=0,temp1,sum = 1;
for (int i = 2; i <= N; i++)
{
temp1 = sum;
sum = sum + temp;
temp = temp1;
}
return sum;
}
};