LeetCode:Minimum Path Sum

来源:互联网 发布:eago人工智能骗局 编辑:程序博客网 时间:2024/06/03 22:41

Minimum Path Sum


Total Accepted: 71367 Total Submissions: 203837 Difficulty: Medium

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.

Subscribe to see which companies asked this question

Hide Tags
 Array Dynamic Programming
Hide Similar Problems
 (M) Unique Paths (H) Dungeon Game
















c++ code:

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

0 0