原题地址

 

基本动态规划题

 

代码:

 1 int minPathSum(vector<vector<int> > &grid) {
 2   if (grid.empty() || grid[0].empty()) return 0;
 3 
 4   int m = grid.size();
 5   int n = grid[0].size();
 6   vector<int> sum(n, 0);
 7 
 8   sum[n - 1] = grid[m - 1][n - 1];
 9   for (int j = n - 2; j >= 0; j--)
10     sum[j] = grid[m - 1][j] + sum[j + 1];
11 
12   for (int i = m - 2; i >= 0; i--) {
13     sum[n - 1] += grid[i][n - 1];
14     for (int j = n - 2; j >= 0; j--)
15       sum[j] = min(sum[j], sum[j + 1]) + grid[i][j];
16   }
17 
18   return sum[0];
19 }

 

相关文章:

  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
  • 2022-01-10
猜你喜欢
  • 2021-12-21
  • 2021-09-07
  • 2022-01-04
  • 2021-06-10
  • 2021-06-03
  • 2021-09-21
  • 2022-03-06
相关资源
相似解决方案