0
点赞
收藏
分享

微信扫一扫

Python描述 LeetCode 64. 最小路径和


Python描述 LeetCode 64. 最小路径和

  大家好,我是亓官劼(qí guān jié ),在【亓官劼】公众号 GitHub、B站等平台分享一些技术博文,主要包括前端开发、python后端开发、小程序开发、数据结构与算法、docker、Linux常用运维、NLP等相关技术博文,时光荏苒,未来可期,加油~

  如果喜欢博主的文章可以关注博主的个人公众号【亓官劼】(qí guān jié),里面的文章更全更新更快。如果有需要找博主的话可以在公众号后台留言,我会尽快回复消息.

Python描述 LeetCode 64. 最小路径和_leetcode

本文原创为【亓官劼】(qí guān jié ),请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 全部文章请关注微信公众号【亓官劼】。

题目

给定一个包含非负整数的 ​​*m* x *n*​​​ 网格 ​​grid​​ ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

**说明:**每次只能向下或者向右移动一步。

示例 1:

Python描述 LeetCode 64. 最小路径和_python_02

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:7
解释:因为路径 1→3→1→1→1 的总和最小。

示例 2:

输入:grid = [[1,2,3],[4,5,6]]
输出:12

提示:

  • ​m == grid.length​
  • ​n == grid[i].length​
  • ​1 <= m, n <= 200​
  • ​0 <= grid[i][j] <= 100​

Python描述

经典DP,走方格

class Solution:
def minPathSum(self, grid: List[List[int]]) -> int:
n,m = len(grid),len(grid[0])
for i in range(1,m):
grid[0][i] += grid[0][i-1]
for i in range(1,n):
grid[i][0] += grid[i-1][0]
for i in range(1,n):
for j in range(1,m):
grid[i][j] += min(grid[i-1][j],grid[i][j-1])
return grid[n-1][m-1]


举报

相关推荐

0 条评论