剑指Offer:变态跳台阶(10.4)
题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路:
要想跳到第n级台阶,就可以从第n-1级、第n-2级、***、第1级 跳到第n级,再加上直接从地面到第n级的一种情况。
将问题分解为求子问题递归。
public static int JumpFloorIIj(int target) { if(target==0||target==1) return 1; if(target==2) return 2; int sum = 0; for(int i=0;i<target;i++){ sum += JumpFloorIIj(i); } return sum; }