当前位置: 首页 > article >正文

【动态规划】下降路径最小和

 

跟之前不同由于可能取到最右上角值,则左右各加一列,并且由于求最小值,则加的列须设置为正无穷大;

class Solution {
public:
    int minFallingPathSum(vector<vector<int>>& matrix) {
        int n=matrix.size();
        vector<vector<int>> dp(n+1,vector<int>(n+2));
        for(int i=1;i<=n;i++){
            dp[i][0]=INT_MAX;
            dp[i][n+1]=INT_MAX;
        }
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                dp[i][j]=min(min(dp[i-1][j],dp[i-1][j-1]),dp[i-1][j+1])+matrix[i-1][j-1];
            }
        }
        int tmp=INT_MAX;
        for(int j=1;j<=n;j++){
            if(dp[n][j]<tmp){
                tmp=dp[n][j];
            }
        }
        return tmp;
    }
};

 


http://www.kler.cn/a/598196.html

相关文章:

  • KiLog2MaximumIncrement的由来和KiMaximumIncrementReciprocal的由来
  • 2025年第二期 | CCF ODC《开源战略动态月报》
  • 【leetcode hot 100 51】N皇后
  • JVM如何处理Java中的精度转换: 从源码到字节码
  • 坦克大战(c++)
  • list的模拟实现和学习
  • 数据分析异步进阶:aiohttp与Asyncio性能提升
  • 杨辉三角 II(js实现,LeetCode:119)
  • OSPF多区域通信
  • Js闭包Closure 及 其可能产生的内存泄漏问题
  • C++常见问题与思考
  • js去除后端返回json的冗余字段
  • C语言-状态模式详解与实践 - OTA升级状态机
  • WebSocket:现代实时通信协议的深度解析与实践
  • flask不会随着网页的刷新和关闭停止任务
  • 从失衡到平衡:手撕 AVL 树的插入旋转操作
  • 嵌入式学习(31)-Lora模块A39C-T400A30D1a
  • Transformer中,Fisher矩阵与权重之间关系
  • 开源AI大模型、AI智能名片与S2B2C商城小程序源码:实体店引流的破局之道
  • 新闻发布时间抽取(二)