题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
分析:看到这种类型,一般会想到使用递归实现,这样比较简单,但是不能被AC掉,因为超时,所以只有采用非递归算法
思路:采用的方法是循环完成前后两项相加
C++代码:
class Solution {
public:
int Fibonacci(int n) {
int a = 1;
int b = 1;
if(n<=0){
return 0;
}
if(n == 1 || n == 2){
return 1;
}
for(int i=2; i<n; i++){
int result = a+b;
a = b;
b = result;
}
return b;
}
};