LeetCode - Minimum Path Sum

来源:互联网 发布:网络超好听伤感歌曲 编辑:程序博客网 时间:2024/06/12 22:08

题目描述:

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.

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

和之前的unique paths类似,但是递推关系要修改,为了使某点路径和最小,应该选取该点左边和上方最小的路径和再加上它本身。注意第一行和第一列没有上方或左边的邻点。

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

0 0
原创粉丝点击