# 最小路径和

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

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

 

示例 1:

输入: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

 

提示:

## template ```python class Solution(object): def minPathSum(self, grid): """ :type grid: List[List[int]] :rtype: int """ height = len(grid) if height == 0: return 0 width = len(grid[0]) pathmap = [] for i in range(height): pathmap.append([100000000000] * width) pathmap[0][0] = grid[0][0] for i in range(height): for j in range(width): compare = [pathmap[i][j]] if i - 1 >= 0: compare.append(pathmap[i - 1][j] + grid[i][j]) if j - 1 >= 0: compare.append(pathmap[i][j - 1] + grid[i][j]) pathmap[i][j] = min(compare) return pathmap[-1][-1] # %% s = Solution() print(s.minPathSum(grid = [[1,3,1],[1,5,1],[4,2,1]])) ``` ## 答案 ```python ``` ## 选项 ### A ```python ``` ### B ```python ``` ### C ```python ```