Java变态跳台阶实现思路和代码
变态跳台阶
1.题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
2.题目分析
- f(1)=1
- f(2)会有两个跳得方式,一次1阶或者2阶,这回归到了问题f(1),f(2)=f(2-1)+f(2-2)
- f(3)会有三种跳得方式,1阶、2阶、3阶,那么就是第一次跳出1阶后面剩下:f(3-1);第一次跳出2阶,剩下f(3-2);第一次3阶,那么剩下f(3-3).因此结论是:f(3)=f(3-1)+f(3-2)+f(3-3)
- f(n)时,会有n中跳的方式,1阶、2阶…n阶,得出结论:
f(n)=f(n-1)+f(n-2)+...+f(n-(n-1))+f(n-n)=>f(0)+f(1)+f(2)+f(3)+...+f(n-1)==f(n)=2*f(n-1)
3.解题代码
publicclassSolution{ publicintJumpFloor(inttarget){ if(target==0){ return0; } if(target==1){ return1; } return2*JumpFloor(target-1); } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接