题目
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
说明:每次只能向下或者向右移动一步。
示例:
1 | 输入: |
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.
Note: You can only move either down or right at any point in time.
Example:
1 | Input: |
解题方法
简单动态规划问题,状态转移方程为res[i][j] = min(res[i-1][j], res[i][j-1]) + grid[i][j]
,其中res
保存到达每个格子的最短路径和,grid
保存每个格子的值,到grid[i][j]
的最短路径和为到其左边或上边的最短路径和中的最小值加grid[i][j]
。这段代码跑了5ms,超过了93.86%的Java提交。
1 | public class Solution { |