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

来源:互联网 发布:mac 如何转换flac ape 编辑:程序博客网 时间:2024/06/17 21:24

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


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

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

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

牛客网题目框架截图:



解答:

[java] view plain copy
  1. public class Solution {  
  2.     public int JumpFloorII(int target) {  
  3.         int m=0,i;  
  4.         if(target<0)m=0;  
  5.            else if(target==0)m=1;  //注意这里的m的值
  6.                   else  
  7.                       for(i=target-1;i>=0;i--)  
  8.                            m+=JumpFloorII(i);  
  9.                  
  10.          return m;  
  11.     }  
  12. }  


牛客网编译通过截图:

0 0