[leetcode] 64. Minimum Path Sum (medium)

原题
简单动态规划
重点是:grid[i][j] += min(grid[i][j - 1], grid[i - 1][j]);


class Solution {
 public:
  int minPathSum(vector<vector<int>> &grid) {
    for (int i = 1; i < grid.size(); i++) {
      grid[i][0] += grid[i - 1][0];
    }

    for (int i = 0; i < grid.size(); i++) {
      for (int j = 1; j < grid[0].size(); j++) {
        if (i == 0) {
          grid[i][j] += grid[i][j - 1];
        }

        else {
          grid[i][j] += min(grid[i][j - 1], grid[i - 1][j]);
        }
      }
    }

    return grid[grid.size() - 1][grid[0].size() - 1];
  }
};
posted @ 2018-10-16 11:40  Ruohua3kou  阅读(139)  评论(0编辑  收藏  举报