- 递归解法
function fibonacci(n){
if(n === 1 || n === 2) return 1
return fibonacci(n - 1) + fibonacci(n - 2)
}
- 动态规划解法1
function fibonacci(n) {
let res = [1, 1]
for(let i = 2; i < n; i++) {
res[i] = res[i - 1] + res[i - 2]
}
return res[n - 1]
}
- 动态规划解法2
function fibonacci(n){
let [pre, cur] = [1, 1]
for(let i = 2; i < n; i++) {
[pre, cur] = [cur, pre + cur]
}
return cur
}
网友评论