跳格子游戏棋盘,从起始点需要跳 n 个格子才能到结束点。
每次可以跳 1 或 2 个格子,问共有多少种方法可以跳到结束点。输入:2 输出:2解释:有两种方法可以爬到楼顶。 1. 1 格 + 1格 2. 2 格输入2
输出2
样例输入 3
样例输出 3
//方法一:
/*
function getSteps(num) {
num = Number(num);
if (num === 1) {
return 1;
}
if (num === 2) {
return 2;
}
if (num > 2) {
return getResult(num - 1) + getResult(num - 2); // 递归
}
}
*/
//方法二:
function getSteps(num) {
var arr = [0, 1, 2];
for (var i = 3; i <= num; i++) {
arr[i] = arr[i - 1] + arr[i - 2]; // 动态规划
}
return arr[num];
}
console.log(gh(2)); // 2
console.log(gh(3)); // 3
console.log(gh(40)); // 165580141