题解 | #跳台阶扩展问题#

跳台阶扩展问题

https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387

public class Solution {
    public int jumpFloorII(int target) {
        if (target <= 0) return 0;
        int[] dp = new int[target + 1];
        dp[1] = 1;
        for (int i = 2; i <= target; i++) {
            int sum = 1;
            for (int j = 1; j <= i; j++) {
                sum += dp[j];
            }
            dp[i] = sum;
        }
        return dp[target];
    }
}

// 或者数学公式:f(n)=2^(n+1)
public int JumpFloorII(int target) {
  return (int) Math.pow(2, target - 1);
}

解题思想:动态规划,由已知求未知,dp保存前面算出的值,后面是前面每个台阶累积和。或者直接数学公式得出:f(n)=2^(n+1)

#算法##算法笔记#
全部评论

相关推荐

牛客44320985...:你的当务之急是把这个糖的要死的沟槽ide主题改了
点赞 评论 收藏
分享
03-31 14:46
已编辑
门头沟学院 Web前端
励志成为双港第一ja...:这其实很正常,离的太远了,他认为你不会来,就为了混个面试,而且成本很高,实习生都优先选本地高校。吃了地域的亏,所有很多时候地域可能比院校层次更重要。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务