day38 动态规划part1 代码随想录算法训练营 70. 爬楼梯

题目:70. 爬楼梯

我的感悟:

  • 居然自己先写出来了!!继续努力!!

理解难点:

听课笔记:

  • 注意dp[0]是没有含义的
  • 哈哈,我跟老师写的几乎一样,思路没错!!

我的代码:

class Solution:
    def climbStairs(self, n: int) -> int:
        if n == 1:
            return 1
        dp = [0] *(n+1)
        dp[1] = 1
        dp[2] = 2

        for i in range(3,n+1):
            dp[i] = dp[i-1]+dp[i-2] 
        
        return dp[n]

通过截图:

我的错误写法:

老师的代码:

# 空间复杂度为O(n)版本
class Solution:
    def climbStairs(self, n: int) -> int:
        if n <= 1:
            return n
        
        dp = [0] * (n + 1)
        dp[1] = 1
        dp[2] = 2
        
        for i in range(3, n + 1):
            dp[i] = dp[i - 1] + dp[i - 2]
        
        return dp[n]

资料:

posted @ 2024-02-21 16:00  o蹲蹲o  阅读(3)  评论(0编辑  收藏  举报