机试刷题_矩阵的最小路径和【python】

题目矩阵的最小路径和

python 复制代码
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param matrix int整型二维数组 the matrix
# @return int整型
#
class Solution:
    def minPathSum(self , matrix: List[List[int]]) -> int:
        # 动态规划
        n = len(matrix)
        m = len(matrix[0])
        # 初始化dp表
        dp = [[0]*m for i in range(n)]
        dp[0][0] = matrix[0][0]
        # 首行
        for i in range(1,m):
            dp[0][i] = dp[0][i-1]+matrix[0][i]
        # 首列
        for j in range(1,n):
            dp[j][0] = dp[j-1][0]+matrix[j][0]
        #状态转移
        for i in range(1,n):
            for j in range(1,m):
                dp[i][j] = min(dp[i-1][j],dp[i][j-1])+matrix[i][j]
        return dp[n-1][m-1]
        
相关推荐
R-G-B3 分钟前
OpenCV Python——Numpy基本操作(Numpy 矩阵操作、Numpy 矩阵的检索与赋值、Numpy 操作ROI)
python·opencv·numpy·numpy基本操作·numpy 矩阵操作·numpy 矩阵的检索与赋值·numpy 操作roi
细节处有神明9 分钟前
Jupyter 中实现交互式图表:ipywidgets 从入门到部署
ide·python·jupyter
小小码农一只9 分钟前
Python 爬虫实战:玩转 Playwright 跨浏览器自动化(Chromium/Firefox/WebKit 全支持)
爬虫·python·自动化
wow_DG19 分钟前
【C++✨】多种 C++ 解法固定宽度右对齐输出(每个数占 8 列)
开发语言·c++·算法
Epiphany.55628 分钟前
c++最长上升子序列长度
c++·算法·图论
Cx330❀1 小时前
【数据结构初阶】--排序(四):归并排序
c语言·开发语言·数据结构·算法·排序算法
深盾安全1 小时前
Python脚本安全防护策略全解析(上)
python
余_弦1 小时前
区块链中的密码学 —— 密钥派生算法
算法·区块链
杜子不疼.1 小时前
《Python学习之使用标准库:从入门到实战》
开发语言·python·学习
胡耀超2 小时前
从哲学(业务)视角看待数据挖掘:从认知到实践的螺旋上升
人工智能·python·数据挖掘·大模型·特征工程·crisp-dm螺旋认知·批判性思维