变态跳台阶

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

个人理解:假设最后一跳是1则跳法与前n-1个台阶有关;假设最后一条是2则跳法与前n-2个台阶有关;……;假设最后一跳是n-1则跳法与第一个台阶有关。最后结果为n-1项加和后再加1。

代码如下:

 1 public class Solution {
 2     public int JumpFloorII(int target) {
 3         if(target==0){
 4             return 0;
 5         }else if(target==1){
 6             return 1;
 7         }else if(target==2){
 8             return 2;
 9         }else{
10             int count = 0;
11             for(int i=target-1;i>0;i--){
12                 count += JumpFloorII(i);
13             }
14             return count+1;
15         }
16     }
17 }

(ps:这应该也算递归类的题目吧。。。。。感觉递归重要的是想明白,想明白了就好写代码了)

fire!!!!!!

原文地址:https://www.cnblogs.com/haq123/p/12105286.html