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