1. 程式人生 > >LintCode 110. 最小路徑和

LintCode 110. 最小路徑和

sts write lintcode class grid 最小路徑 its 路徑和 pub

給定一個只含非負整數的m*n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。

class Solution {
public:
    /*
     * @param grid: a list of lists of integers
     * @return: An integer, minimizes the sum of all numbers along its path
     */
    int minPathSum(vector<vector<int>> &grid) {
        // write your code here
int row=grid.size(); int col=grid[0].size(); for(int j=col-2;j>=0;j--) { grid[row-1][j]+=grid[row-1][j+1]; } for(int i=row-2;i>=0;i--) { for(int j=col-1;j>=0;j--) { if(j==col-1) { grid[i][j]
+=grid[i+1][j]; continue; } grid[i][j]+=min(grid[i][j+1],grid[i+1][j]); } } return grid[0][0]; } };

LintCode 110. 最小路徑和