大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39
这题不能用递归方式进行编写,递归方法超出内存,因此,必须改用保存现场的方法,由于题目所说n<=39,那么设置long long的数组data[50]用来存放每次递归方法的结果。利用循环算出第n个斐波那契数。
C++代码
class Solution {
public:
long long data[50];
int Fibonacci(int n) {
this->data[1] = data[2] = 1;
for(int i = 2 ; i <= n ; i++){
data[i] = data[i-1]+data[i-2];
}
return data[n];
}
};