纯递归:问题:程序未能在规定时间内运行结束。
class Solution {
public:
int Fibonacci(int n) {
if(n<=0) return 0;
if(n==1) return 1;
return Fibonacci(n-1)+Fibonacci(n-2);
}
};改进:避免重复计算,解决方法:保存中间计算结果。
class Solution {
public:
int Fibonacci(int n) {
if(n<=0) return 0;
if(n==1) return 1;
int fzero=0,fone=1,fn=0;
for(int i=1;i<n;i++){
fn=fone+fzero;
fzero=fone;
fone=fn;
}
return fn;
}
};

京公网安备 11010502036488号