题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。
n\leq 39n≤39
示例1
输入
4返回值
3
代码思路
如果使用递归会发现空间复杂度过大无法通过,所以只能改用循环来做。求n的时候先求0 1 这个时候2变为0+1,而指向1的指针指向2,指向0的指针指向1。这个时候两个指针相加就是后面的结果,以此类推。
答案
function Fibonacci(n)
{
// write code here
if(n==0){
return 0;
}
if(n==1){
return 1;
}
let foreone=1;
let foretwo=0;
let answer;
for(let i=2;i<=n;i++){
answer=foreone+foretwo;//foreone是answer前面一个,foretwo是answer前面两个。
foretwo=foreone;
foreone=answer;
}
return answer;
}
运行环境:JavaScript (V8 6.0.0)
运行时间:8ms
占用内存:5396KB