变态跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
public static int JumpFloorII(int target) { int[] a = new int[target+1]; a[0] = 1; a[1] = 1; for (int i = 2; i <= target ; i++) { int sum = 0; for (int j = 1; j <= i ; j++) { sum += a[i-j]; } a[i] = sum; } return a[target]; }
思路:每一次跳的第一步共有target次选择,从1到target,然后加上a[i-j]。