JAVA实现变态跳台阶问题(《剑指offer》)

时间:2021-11-02 16:03:19

最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指出,侵删),希望能对大家的学习有所帮助。


上一篇文章讲了跳台阶问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。(http://blog.csdn.net/qq_15062527/article/details/48846627)

这个其实就是一个斐波那契数列问题,现在我们把这个问题提升一下难度:

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

牛客网题目框架截图:

JAVA实现变态跳台阶问题(《剑指offer》)


解答:

public class Solution {
public int JumpFloorII(int target) {
int m=0,i;
if(target<0)m=0;
else if(target==0)m=1;
else
for(i=target-1;i>=0;i--)
m+=JumpFloorII(i);

return m;
}
}


牛客网编译通过截图:

JAVA实现变态跳台阶问题(《剑指offer》)