• Minimum Path Sum


    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.

    Analyse: dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j];

    Runtime: 32ms.

     1 class Solution {
     2 public:
     3     int minPathSum(vector<vector<int>>& grid) {
     4         if(grid.size() == 0) return 0;
     5         int row = grid.size(); //row size
     6         int col = grid[0].size(); //column size
     7         
     8         vector<vector<int> > dp;
     9         dp = grid;
    10         for(int i = 1; i < row; i++) dp[i][0] = dp[i - 1][0] + grid[i][0];
    11         for(int j = 1; j < col; j++) dp[0][j] = dp[0][j - 1] + grid[0][j];
    12         
    13         for(int i = 1; i < row; i++){
    14             for(int j = 1; j < col; j++){
    15                 dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j];
    16             }
    17         }
    18         return dp[row - 1][col - 1];
    19     }
    20 };
  • 相关阅读:
    sws_getContext函数参数介绍
    FFmpeg 将YUV数据转RGB
    信号槽同步
    git stash
    Qt 事件
    Qt 信号与槽函数
    微信红包的算法实现
    Python正则表达式中的re.S
    hive函数 -- split 字符串分割函数
    python None与Null
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/4750117.html
Copyright © 2020-2023  润新知