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;
    }
相关推荐
mochensage13 分钟前
第6次课 贪心算法 A
算法·贪心算法
不是仙人的闲人1 小时前
算法之回溯法
开发语言·数据结构·c++·算法
小德乐乐1 小时前
计算机软考中级 知识点记忆——排序算法 冒泡排序-插入排序- 归并排序等 各种排序算法知识点整理
数据结构·算法·排序算法
天天扭码2 小时前
一分钟解决一道算法题——矩阵置零
前端·算法·面试
天天扭码2 小时前
偶遇天才算法题 | 拼劲全力,无法战胜 😓
前端·算法·面试
2401_878624793 小时前
opencv(双线性插值原理)
人工智能·算法·计算机视觉
小豪GO!3 小时前
数据结构-八大排序
数据结构·算法·排序算法
烟锁池塘柳03 小时前
【数学建模】随机森林算法详解:原理、优缺点及应用
算法·随机森林·数学建模
极昆仑智慧3 小时前
多模态知识图谱:重构大模型RAG效能新边界
人工智能·算法·语言模型·自然语言处理·知识图谱
天天扭码3 小时前
面试官:算法题”除自身以外数组的乘积“ 我:😄 面试官:不能用除法 我:😓
前端·算法·面试