Leetcode64. 最小路径和

Problem: 64. 最小路径和

文章目录

思路

动态规划,偷房子问题变形

解题方法

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

复杂度

时间复杂度:

O ( m ∗ n ) O(m*n) O(m∗n)

空间复杂度:

O ( m ∗ n ) O(m*n) O(m∗n)

Code

cpp 复制代码
class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        int m = grid.size();
        int n = grid[0].size();
        // dp[i][j] = min(dp[i-1][j],dp[i][j-1])+grid[i][j];
        vector<vector<int>> dp(m, vector(n,0));
        dp[0][0] = grid[0][0];
        for(int i = 1; i < n; i++){
            grid[0][i] += grid[0][i-1];
            dp[0][i] = grid[0][i];
        }
        for(int j = 1; j < m; j++){
            grid[j][0] += grid[j - 1][0];
            dp[j][0] = grid[j][0];
        }

        for(int i = 1; i < m; i++){
            for(int j = 1; j < n; j++){
                dp[i][j] = min(dp[i-1][j],dp[i][j-1])+grid[i][j];
            }
        }
        return dp[m - 1][n - 1];
    }
};
相关推荐
张祥6422889043 分钟前
导数与微分有啥区别
算法·数学建模
葳_人生_蕤11 分钟前
hot100——图
数据结构·算法
Rust研习社23 分钟前
深入浅出 Rust 泛型:从入门到实战
开发语言·后端·算法·rust
数智工坊29 分钟前
R-CNN目标检测算法精读全解
网络·人工智能·深度学习·算法·目标检测·r语言·cnn
yi.Ist1 小时前
2025CCPC郑州邀请赛
c++·学习·算法·acm
少许极端1 小时前
算法奇妙屋(四十八)-单调栈
java·算法·单调栈
水木流年追梦2 小时前
CodeTop Top 300 热门题目2-最长回文子串
开发语言·人工智能·python·算法·leetcode
图码2 小时前
递归入门:从n到1的优雅打印之旅
数据结构·c++·算法·青少年编程·java-ee·逻辑回归·python3.11
大肥羊学校懒羊羊2 小时前
题解:计算约数个数
数据结构·c++·算法
生信之灵2 小时前
拓扑与曲率双剑合璧:scGeom如何从单细胞数据中“看见”细胞命运
人工智能·深度学习·算法·单细胞·多组学