普通递归
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
复制代码
以最基础的斐波那契数列为例,这个题很经典了,递归和dp的教学例题,也是家常便饭。
function fib(num){
console.log(i++);
if(num === 1 || num === 2){
return 1
}
else{
return fib(num-1) + fib(num-2);
}
}
最普通的递归存在大量的重复计算,所以最优解是使用动态规划来做,用空间换时间
function fib(num){
const dp = new Array(num + 1);
dp[1] = 1;
dp[2] = 1;
for(let