Leetcode 64. Minimum Path Sum | | Leetcode 64. Minimum Path Sum 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 1. Description 2. Solution Version 1 1234567891011121314151617181920212223class Solution {public: int minPathSum(vector<vector<int>>& grid) { int m = grid.size(); int n = grid[0].size(); vector<vector<int>> path(m, vector<int>(n)); path[0][0] = grid[0][0]; for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { if(i > 0 && j > 0) { path[i][j] = min(path[i - 1][j], path[i][j - 1]) + grid[i][j]; } else if(i < 1 && j > 0) { path[i][j] = path[i][j - 1] + grid[i][j]; } else if(i > 0 && j < 1) { path[i][j] = path[i - 1][j] + grid[i][j]; } } } return path[m - 1][n - 1]; }}; Version 2 123456789101112131415161718192021class Solution {public: int minPathSum(vector<vector<int>>& grid) { int m = grid.size(); int n = grid[0].size(); for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { if(i > 0 && j > 0) { grid[i][j] = min(grid[i - 1][j], grid[i][j - 1]) + grid[i][j]; } else if(i < 1 && j > 0) { grid[i][j] = grid[i][j - 1] + grid[i][j]; } else if(i > 0 && j < 1) { grid[i][j] = grid[i - 1][j] + grid[i][j]; } } } return grid[m - 1][n - 1]; }}; Reference https://leetcode.com/problems/minimum-path-sum/description/ 如果有收获,可以请我喝杯咖啡! 赏 微信打赏 支付宝打赏