| 14 | class Solution { |
| 15 | public: |
| 16 | int minPathSum(vector<vector<int>>& grid) { |
| 17 | if (grid.size() == 0) return 0; |
| 18 | if (grid[0].size() == 0) return 0; |
| 19 | int m = grid.size(), n = grid[0].size(); |
| 20 | // deal with the first line |
| 21 | for (int i = 1; i < m; i ++) { |
| 22 | grid[0][i] += grid[0][i - 1]; |
| 23 | } |
| 24 | for (int i = 1; i < m; i ++) { |
| 25 | // deal with the first colomn |
| 26 | grid[i][0] += grid[i - 1][0]; |
| 27 | for (int j = 1; j < n; j ++) { |
| 28 | grid[i][j] = min(grid[i][j - 1], grid[i - 1][j]) + grid[i][j]; |
| 29 | } |
| 30 | } |
| 31 | return grid[m - 1][n - 1]; |
| 32 | } |
| 33 | }; |
| 34 | |
| 35 | int main() { |
nothing calls this directly
no outgoing calls
no test coverage detected