day39 动态规划part2 代码随想录算法训练营 62. 不同路径

题目:62. 不同路径

我的感悟:

  • 加油!武汉下冻雨是真冷呀!!

理解难点:

  • dp的含义,
  • dp这里加的含义
  • dp外层是m,是深度,内层是n是长度
  • 从1开始遍历,而不是从0.

听课笔记:

代码示例:

class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        # 创建一个二维数组
        dp = [[0]*n for _ in range(m)]  # n是内层,横向,m是外层,是深度
        # 初始化
        for i in range(m):
            dp[i][0] = 1
        for i in range(n):
            dp[0][i] = 1
        
        for i in range(1,m):  # 注意要从1开始遍历,0位置已经设置为1了 # 易错点!!
            for j in range(1,n):
                dp[i][j] = dp[i-1][j] + dp[i][j-1]
        
        return dp[m-1][n-1]

通过截图:

扩展写法:

资料:

 62.不同路径 

本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。 

https://programmercarl.com/0062.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84.html

视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu

posted @ 2024-02-22 12:43  o蹲蹲o  阅读(3)  评论(0编辑  收藏  举报