跳台阶-变态跳台阶
跳台阶
题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。
求该青蛙跳上一个n级的台阶总共有多少种跳法。
问题分析:
作为斐波那契数列的延伸,之前写过三种写法,现在用第四种
代码展示:
function jumpFloor(number)
{
// write code here
//斐波那契问题 -- 继上次三种解法的第四种
// 1 2 3 4 5 6
// 1 2 3 5
var a = 1, b = 1;
for (let i = 1; i < number; i++) {
a = a + b;
b = a - b;
}
return a;
}
变态跳台阶
题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。
求该青蛙跳上一个n级的台阶总共有多少种跳法。
问题分析:
上跳台阶类似都是有规律可循的
number: 1 2 3 4 5
跳法种数: 1 2 4 8
代码展示:
function jumpFloorII(number)
{
// 1 2 3 4 5
// 1 2 4 8
var n = 1;
for(let i=1;i<number;i++){
n = 2*n
}
return n;
}
总结:
题目不难,关键在于找出规律
fibonacci 1 2 3 5 8
2*n 1 2 4 8