[动态规划] leetcode 64 Minimum Path Sum

problem: https://leetcode.com/problems/minimum-path-sum/

        爬台阶类型dp。从上方或左方取累加最小值。

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {

        int m = grid.size();
        if (m == 0) return 0;
        int n = grid[0].size();
        for (int i = 0; i < m; i++)
        {
            for (int j = 0; j < n; j++) {
                if (i != 0 || j != 0) {
                    int x = i >= 1 ? grid[i - 1][j] : 10000;
                    int y = j >= 1 ? grid[i][j - 1] : 10000;
                    grid[i][j] += min(x, y);
                }
            }
        }
        return grid[m - 1][n - 1];
    }
};

 

posted @ 2019-08-08 16:50  fish1996  阅读(127)  评论(0)    收藏  举报