leetcode_64. Minimum Path Sum

来源:互联网 发布:seo主管工作内容 编辑:程序博客网 时间:2024/06/03 17:50

题目:

Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right whichminimizes the sum of all numbers along its path.

跟上次的题目很像,就是多了权值条件而已。那就每个位置等于上面或者左面加自己,上面或者左面哪个小用哪个加自己。

比较简单,代码如下:

class Solution {public:    int minPathSum(vector<vector<int>>& grid) {        int m = grid.size();        int n = grid[0].size();        int dp[m][n];        dp[0][0] = grid[0][0];        for(int i = 1; i < m; ++i){            dp[i][0] = dp[i-1][0] + grid[i][0];        }        for(int j = 1; j < n; ++j){            dp[0][j] = dp[0][j-1] +grid[0][j];        }        for(int i = 1; i < m; ++i){            for(int j = 1; j < n; ++j){                dp[i][j] = min(dp[i-1][j], dp[i][j-1])+grid[i][j];            }        }        return dp[m-1][n-1];    }};

要先初始化一下。

0 0
原创粉丝点击