动态规划
动态规划之斐波那契数列
function fibo(n) {
if (n <= 0) return -1;
if (n == 1) return 1;
if (n == 2) return 2;
var a = 0;
var b = 1;
var c;
for (var i = 3; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return c;
}
console.log(fibo(7));
function fibo2(n) {
if (n <= 0) return -1;
if (n == 1) return 1;
if (n == 2) return 2;
return fibo(n - 1) + fibo(n - 2);
}
console.log(fibo2(7));
动态规划之青蛙跳台阶问题
function jump(n) {
if (n <= 0) return -1;
if (n == 1) return 1;
if (n == 2) return 2;
return jump(n - 1) + jump(n - 2);
}
变态青蛙跳台阶
function jump(n) {
if (n <= 0) return -1;
if (n == 1) return 1;
if (n == 2) return 2;
var result = 0;
for (var i = 1; i < n; i++) {
result += jump(n - i);
}
return result + 1;
}
console.log(jump(4));