64 Minimum Path Sum ->DP
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:
Input:
[
[1,3,1],
[1,5,1],
[4,2,1]
]
Output:
7
Explanation:
Because the path 1→3→1→1→1 minimizes the sum.
class Solution {
public int minPathSum(int[][] grid) {
for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[0].length; j++) {
if ( i == 0 && j != 0) {
grid[i][j] += grid[i][j-1];
}
if (j == 0 && i != 0) {
grid[i][j] += grid[i - 1][j];
}
if (i != 0 && j != 0) {
grid[i][j] += Math.min(grid[i][j-1], grid[i - 1][j]);
}
}
}
int n = grid.length;
int m = grid[0].length;
return grid[n - 1][m - 1];
}
}