# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
# @param matrix int整型二维数组 the matrix
# @return int整型
class Solution:
def minPathSum(self , matrix: List[List[int]]) -> int:
# write code here
#动态规划
n = len(matrix)#行数
m = len(matrix[0])#列数
dp = [[[]for i in range(m)]for j in range(n)]
for i in range(n):
for j in range(m):
dp[i][j] == 0
dp [0][0] = matrix[0][0]
#处理第一列和第一行
for i in range(1,m):#第一行
dp[0][i] = matrix[0][i]+dp[0][i-1]
for j in range(1,n):#第一列
dp[j][0] = matrix[j][0]+dp[j-1][0]
#按照公式来
for i in range(1,n):
for j in range(1,m):
dp[i][j] = min(matrix[i][j]+dp[i-1][j],matrix[i][j]+dp[i][j-1])
return dp[n-1][m-1]
NC59 矩阵的最小路径和
最新推荐文章于 2024-06-21 13:03:53 发布