题解 | #跳台阶扩展问题#
跳台阶扩展问题
http://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387
function jumpFloorII(number)
{
// write code here
let sum=0;
if(number==0) return 0;
else if(number==1) return 1;
else if(number==2) return 2;
else {
let count=number-3;
return 4*2**count;
}
//F(n)==1+F(n-1)+F(n-2)+------+F(1)
}
module.exports = {
jumpFloorII : jumpFloorII
}; 从n级台阶跳下来,结果为n-0 n-1 n-2 n-3 -------n-n-1 计算每种情况下的结果和为最终结果
通过总结发现的规律时 F(3)=1+F(2)+F(1) 1标识从3直接跳到0
F(4)=F(3)+F(2)+F(1)+1=2F(3)
F(5)=F(4)+F(3)+F(2)+F(1)+1=4F(3)
F(6)=f(5)+f(4)+f(3)+f(2)+f(1)+1=2F(5)=8F(3)
通过总结得出结论
F(n)=2^(n-3)*F(3)
