We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Difficulty: 中等
Related Topics: 数组, 动态规划, 矩阵
给定一个包含非负整数的 _m_ x _n_ 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。
_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
提示:
m == grid.length
n == grid[i].length
1 <= m, n <= 200
0 <= grid[i][j] <= 100
Language: JavaScript
/** * @param {number[][]} grid * @return {number} */ var minPathSum = function(grid) { if (grid === null || grid.length === 0 || grid[0].length === 0) { return 0 } let row = grid.length, col = grid[0].length const dp = new Array(row).fill(0).map(() => new Array(col).fill(0)) dp[0][0] = grid[0][0] for (let i = 1; i < row; i++) { dp[i][0] = dp[i-1][0] + grid[i][0] } for (let j = 1; j < col; j++) { dp[0][j] = dp[0][j-1] + grid[0][j] } for (let i = 1; i < row; i++) { for (let j = 1; j < col; j++) { dp[i][j] = Math.min(dp[i][j-1], dp[i-1][j]) + grid[i][j] } } return dp[row-1][col-1] }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
64. 最小路径和
Description
Difficulty: 中等
Related Topics: 数组, 动态规划, 矩阵
给定一个包含非负整数的
_m_ x _n_
网格grid
,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。**说明:**每次只能向下或者向右移动一步。
示例 1:
示例 2:
提示:
m == grid.length
n == grid[i].length
1 <= m, n <= 200
0 <= grid[i][j] <= 100
Solution
Language: JavaScript
The text was updated successfully, but these errors were encountered: