您的位置:首页 > 编程语言

变态跳台阶

2018-04-14 00:28 155 查看
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解析:普通跳台阶的升级版,但其实代码写法差别比较大。普通跳台阶的递推式:dp[i] = dp[i - 第1种跳法] + ... + dp[i - 第k种跳法]。变态跳台阶不仅要加上之前全部的,还得多加个1,所以是两层循环,内层逆向。
代码:
    public int JumpFloorII(int target) {
        int[] dp = new int[target + 1];
        dp[0] = 0;
        for (int i = 1; i <= target; ++i) {
            dp[i] = 1;
            for (int j = i - 1; j >= 0; --j) {
                dp[i] += dp[j];
            }
        }

        return dp[target];
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 编程题