青蛙跳台阶/跳楼梯
作者:互联网
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)
思路:找规律:跳三级台阶等于跳两级台阶的跳法+跳一级台阶的跳法。跳四级台阶等于跳三级台阶的跳法+跳二级台阶的跳法。明显也符合斐波那契数列的规律f(n) = f(n-1) +f(n-2)
代码:
1 function jumpFloor(number) 2 { 3 // write code here 4 if(number <= 0) return 1; 5 if(number <= 2) return number; 6 let i = 2; 7 let prev = 1; 8 let curr = 2; 9 let result = 0; 10 while(i++ < number){ 11 result = prev + curr; 12 prev = curr; 13 curr = result; 14 } 15 return result; 16 } 17 module.exports = { 18 jumpFloor : jumpFloor 19 };
注意:有的题目需要取模:答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1
1 /** 2 * @param {number} n 3 * @return {number} 4 */ 5 var numWays = function(n) { 6 if(n<=0) return 1; 7 if(n<=2) return n ; 8 let i = 2; 9 let pre = 1; 10 let curr = 2; 11 let res = 0; 12 while(i++ < n){ 13 res = (pre + curr) %1000000007; 14 pre = curr; 15 curr = res; 16 } 17 return res; 18 };
标签:取模,台阶,青蛙,跳法,number,跳上,楼梯 来源: https://www.cnblogs.com/icyyyy/p/14797922.html