变态跳台阶

题目描述

一只青蛙一次可以跳上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]。

posted @ 2019-08-21 16:37  Practical  阅读(120)  评论(0编辑  收藏  举报