64. 最小路径和

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

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

思路:
动态规划?递推
代码:

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        const int m=grid.size();
        const int n=grid[0].size();

        for(int i=1;i<m;i++){
            grid[i][0]=grid[i][0]+grid[i-1][0];
        }
        for(int i=1;i<n;i++){
            grid[0][i]=grid[0][i]+grid[0][i-1];
        }

        for(int i=1;i<m;i++){
            for(int j=1;j<n;j++){
                grid[i][j]=grid[i][j]+min(grid[i-1][j],grid[i][j-1]);
            }
        }

        return grid[m-1][n-1];

    }
};
posted @   ImreW  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示