leetcode 动态规划 (基础版) 下降路径最小和

题目:

题解:

这题和三角型路径和相似,但这题无法在像哪一题一样通过换一个方向逃避下标特判。所以这道题就写一个下标特判的方案。特殊的下标是每一行的第一个元素和最后一个元素,它们由头上的一个元素和左上和右上中的其中一个位置得到,而其他元素都由头上三个位置得到,所以对每一行头部和尾部元素特殊处理,其余元素按题目要求推导即可。

cpp 复制代码
    int minFallingPathSum(vector<vector<int>>& matrix) {
        int dp[105][105]={0};
        for(int i=0;i<matrix[0].size();i++)dp[0][i]=matrix[0][i];
        for(int i=1;i<matrix.size();i++){
            dp[i][0]=min(dp[i-1][0],dp[i-1][1])+matrix[i][0];
            dp[i][matrix.size()-1]=min(dp[i-1][matrix.size()-1],dp[i-1][matrix.size()-2])+matrix[i][matrix.size()-1];
            for(int j=1;j<matrix[0].size()-1;j++){
                dp[i][j]=min({dp[i-1][j-1],dp[i-1][j],dp[i-1][j+1]})+matrix[i][j];
            }
        }
        int mmin=0x3f3f3f3f;
        for(int i=0;i<matrix[0].size();i++)mmin=min(mmin,dp[matrix.size()-1][i]);
        return mmin;
    }
相关推荐
Java_2017_csdn1 天前
ComplexKeysShardingAlgorithm 小结
java·大数据·算法
海梨花1 天前
快手面试高频算法题
java·算法·面试
lqqjuly1 天前
超分辨率算法深度解析(Super-Resolution Algorithms)
算法
嵌入式老牛1 天前
液晶段码(米/日字格)识别—倾斜校正
opencv·算法·仿射变换
luj_17681 天前
残熵算法:风险缓冲与效率优化的融合
c语言·开发语言·网络·经验分享·算法
oddsand11 天前
pgvector 三大相似度算法
人工智能·算法·机器学习
运筹vivo@1 天前
LeetCode 2574. 左右元素和的差值
算法·leetcode·职场和发展·每日一题
计算机安禾1 天前
【数据库系统原理】第4篇:关系数据结构的形式化定义:域、笛卡尔积与关系模式
数据结构·数据库·算法
手写码匠1 天前
手写 DeepSeek 推理引擎优化:从 FP16 到 INT4 的量化加速实战
人工智能·深度学习·算法·aigc
GuWenyue1 天前
LeetCode 76 最小覆盖子串|JS 滑动窗口标准解法
前端·算法·面试