题目描述:
思路:典型的动态规划,可以用滚动数组进行空间复杂度优化。
class Solution {
public int minPathSum(int[][] grid) {
int m=grid.length;
int n=grid[0].length;
int [] result=new int[n];
result[0]=grid[0][0];
for(int i=1;i<n;i++){
result[i]=result[i-1]+grid[0][i];
}
for(int i=1;i<m;i++){
for(int j=0;j<n;j++){
if(j==0)result[0]+=grid[i][0];
else{
result[j]=grid[i][j]+Math.min(result[j],result[j-1]);
}
}
}
return result[n-1];
}
}