题解 | #跳台阶扩展问题#
https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387
// 和上面跳台阶不一样的是,上一题只能跳 1或2级,这一题可以跳1~n级
// res[n] = res[n-1]+...+res[1]+1 //后面这个加1,表示直接跳n级阶梯
// res[n-1] = res[n-2]+...+res[1] +1 //后面这个加1,表示直接跳n级阶梯
function jumpFloorII(number)
{
// write code here
let n = number
if(n===1) return 1
let res = new Array(n+1).fill(0) //为什么是n+1,因为舍弃0下标(0下标没有意义),而且要保证n个数。
res[0] = null
res[1] = 1 //一级台阶只有一种跳法
for(let i = 2 ; i<= n ; i++){
for(let j=1;j<i;j++){
res[i] += res[j]
}
res[i] += 1 //前面计算的是res[n] = res[n-1]+...+res[1],最后+1要在这里操作
}
return res[n]
}
海康威视公司福利 1117人发布