美文网首页
动态规划之爬楼梯

动态规划之爬楼梯

作者: wwq2020 | 来源:发表于2020-07-26 20:52 被阅读0次

题目

假设你正在爬楼梯。需要n 步你才能到达楼顶。 每次你可以爬1 或2 个台阶。你有多少种不同的方法可以爬到楼顶呢

思路

因为每次可以爬1或者2个台阶,所以达到n阶的只能是从n-1或者n-2,也就是说达到n阶的方法等于达到n-1阶和n-2阶方法之和
以此类推,直至1阶(1种)和2阶(2种)

状态转移方程

dp[n] = dp[n-1] + dp[n-2]

最终代码

func calc(n int) int {
    if n == 1 {
        return 1
    }
    dp := make([]int, n)
    dp[0] = 1
    dp[1] = 2
    for i := 2; i <= n-1; i++ {
        dp[i] = dp[i-1] + dp[i-2]
    }
    return dp[n-1]
}

相关文章

  • 动态规划之——爬楼梯

    LeetCode70. 爬楼梯 题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2...

  • 动态规划之爬楼梯

    题目 假设你正在爬楼梯。需要n 步你才能到达楼顶。 每次你可以爬1 或2 个台阶。你有多少种不同的方法可以爬到楼顶...

  • LeetCode | 0070. Climbing Stairs

    LeetCode 0070. Climbing Stairs爬楼梯【Easy】【Python】【动态规划】 Pro...

  • LeetCode中动态规划问题的做题记录

    常规动态规划问题 相关题目: 70.爬楼梯 70.爬楼梯 描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每...

  • 动态规划 / 爬楼梯

    假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶...

  • 动态规划--爬楼梯

    题目 climbing-stairs假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶...

  • leetcode上动态规划问题 java

    动态规划 70. 爬楼梯 难度简单882 收藏 分享 切换为英文 关注 反馈 假设你正在爬楼梯。需要 n 阶你才能...

  • 面试-动态规划合集

    动态规划-爬楼梯[https://www.jianshu.com/p/70eea9a7f650]

  • 动态规划(一):爬楼梯

    题目 一个 阶的楼梯,每次能走 1~2 阶,问走到 阶一共多少种走法 分析 因为每次能走 1~2 阶,所以第 ...

  • 爬楼梯 -简单动态规划

    You are climbing a stair case. It takes n steps to reach ...

网友评论

      本文标题:动态规划之爬楼梯

      本文链接:https://www.haomeiwen.com/subject/tjyglktx.html