1. 程式人生 > >[leetcode] 64. Minimum Path Sum (medium)

[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];
  }
};