zoukankan      html  css  js  c++  java
  • [动态规划]64. 最小路径和

    给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

    说明:每次只能向下或者向右移动一步。

    示例:

    1 输入:
    2 [
    3   [1,3,1],
    4   [1,5,1],
    5   [4,2,1]
    6 ]
    7 输出: 7
    8 解释: 因为路径 13111 的总和最小。

    思路:递推方程F(m,n)=min(F(m-1,n),F(m,n-1))+grid(m,n)

     1 class Solution {
     2 public:
     3     int minPathSum(vector<vector<int>>& grid) {
     4         //F(m,n) = min(F(m-1,n),F(m,n-1))+1;
     5         int m = grid.size();
     6         if(m == 0) return 0;
     7         int n = grid[0].size();
     8         vector<vector<int>> dp(m,vector<int>(n,0));
     9         dp[0][0] = grid[0][0];
    10         for(int i = 1; i < m ;++i){
    11             dp[i][0] =  dp[i-1][0] + grid[i][0];            
    12         }
    13         for(int j = 1; j < n ; ++j) {
    14             dp[0][j] =  dp[0][j -1] + grid[0][j];
    15 
    16         }
    17         for(int i = 1; i< m ;++i) {
    18             for(int j = 1; j < n;++j) {
    19                     dp[i][j] = min(dp[i-1][j],dp[i][j-1]) + grid[i][j];
    20             }
    21         }
    22         return dp[m - 1][n - 1];
    23     }
    24 };

    update 2020/07/23

    几个月后再来做这题,感觉没啥问题。


  • 相关阅读:
    php接口安全设计浅谈
    tcp长连接、短连接、连接池的思考
    PHP单例模式及应用场
    springcloud ribbon
    springcloud eureka
    springcloud gateway
    zipkin下载地址
    用Zookeeper作为Spring cloud的配置中心
    mybaties四大对象
    java equals总结
  • 原文地址:https://www.cnblogs.com/Swetchine/p/12674290.html
Copyright © 2011-2022 走看看