class Solution {
public:
int minPathSum(vector<vector<int> > &grid) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(grid.empty()) return 0;
int M = grid.size();
int N = grid[0].size();
for(int j = 1; j < N; j++){
grid[0][j] = grid[0][j-1] + grid[0][j];
}
for(int i = 1; i < M; i++){
grid[i][0] = grid[i][0] + grid[i-1][0];
}
for(int i = 1; i < M; i++){
for(int j = 1; j < N; j++){
grid[i][j] = min(grid[i-1][j], grid[i][j-1]) + grid[i][j];
}
}
return grid[M-1][N-1];
}
};
[leetcode]Minimum Path Sum
最新推荐文章于 2015-02-01 20:18:16 发布