您的位置:首页 > 其它

LeetCode_Minimum Path Sum

2013-08-14 21:51 316 查看
iven 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.


  动态规划: grid[i][j] += min(grid[i-1][j], grid[i][j-1])

class Solution {
public:
int minPathSum(vector<vector<int> > &grid) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int m = grid.size();
int n = grid[0].size();

for(int i = 1; i< n ; i++)
grid[0][i] += grid[0][i-1];
for(int j = 1; j < m; j++)
grid[j][0] += grid[j-1][0];

for( int i = 1; i < m ; i++)
for( int j = 1; j < n ; j++)
{
int temp = grid[i-1][j] < grid[i][j-1] ? grid[i-1][j] : grid[i][j-1];
grid[i][j] +=temp;
}

return grid[m-1][n-1];
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: