一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
/**
* @param {number} n
* @return {number}
*/
var numWays = function(n) {
// 跳级台阶 只有 1级 或者 2级
// 当台阶大于等于2时 台阶跳法为前两次的总和
if (n === 0 || n === 1) return 1
let res1 = 1, res2 = 1
for (let i = 2; i < n + 1; i++) {
let t = res1
res1 = res2
res2 = (t + res1) % (1e9+7)
}
return res2
};