Minimum Path Sum

来源:互联网 发布:apache和nginx配合 编辑:程序博客网 时间:2024/04/28 13:48

题目

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

Note: You can only move either down or right at any point in time.

思路一:迭代

class Solution {public:    int minPathSum(vector<vector<int> > &grid) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        int row = grid.size();        if(row<=0)            return 0;        int col = grid[0].size();        for(int i=1;i<col;i++)            grid[0][i]+=grid[0][i-1];        for(int i=1;i<row;i++)            grid[i][0]+=grid[i-1][0];        for(int i=1;i<row;i++)            for(int j=1;j<col;j++)            {                grid[i][j]+=min(grid[i-1][j],grid[i][j-1]);            }        return grid[row-1][col-1];                }    };


原创粉丝点击