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

力扣动态规划-18【算法学习day.112】

前言

###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.下降路径最小和

题目链接:931. 下降路径最小和 - 力扣(LeetCode)

题面:

代码:

class Solution {
    int[][] matrix;
    int n,m;
    int[][] f;
    int min = Integer.MAX_VALUE;
    public int minFallingPathSum(int[][] matrix) {
        this.matrix = matrix;
        n = matrix.length;
        m = matrix[0].length;
        f = new int[n][m];
        for(int[] arr:f){
            Arrays.fill(arr,-10000000);
        }
        for(int i = 0;i<m;i++){
            int flag = recursion(n-1,i);
            min = Math.min(min,flag);  
        }
        return min;
    }
    public int recursion(int x,int y){
        if(x==0&&y>=0){
            return matrix[x][y];
        }
        if(x<0||y<0)return 0;
        if(f[x][y]!=-10000000)return f[x][y];
        int a=Integer.MAX_VALUE;
        int b=Integer.MAX_VALUE;
        int c=Integer.MAX_VALUE;

        if(x-1>=0&&y+1<m){
            a = recursion(x-1,y+1);
        }
        if(x-1>=0&&y-1>=0){
            b = recursion(x-1,y-1);
        }
        c = recursion(x-1,y);
        return f[x][y] = Math.min(Math.min(a,b),c)+matrix[x][y];
    }
}

 后言

上面是动态规划相关的习题,共勉

 


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

相关文章:

  • Unity Shader Graph 2D - 角色身体电流覆盖效果
  • 本地部署DeepSeek教程(Mac版本)
  • WebForms SortedList 深度解析
  • 用c语言实现驱动表,用于对驱动的管理及输入输出
  • Linux-CentOS的yum源
  • ComfyUI中For Loop的使用
  • C#基础知识
  • 【C++语言】卡码网语言基础课系列----13. 链表的基础操作I
  • 7.DP算法
  • LabVIEW如何高频采集温度数据?
  • lstm预测
  • 解密高性能异步I/O:io_uring的魔力与应用
  • 理解知识蒸馏中的散度损失函数(KLDivergence/kldivloss )-以DeepSeek为例
  • scrape登录(js逆向)
  • 负载均衡器高可用部署
  • 【数据结构】_链表经典算法OJ:链表判环问题
  • C#面试常考随笔9:什么是闭包?
  • C++泛型编程指南04-(对默认调用参数的类型推断)
  • 最新码支付个人免签支付系统源码 三网免挂版本 兼容易支付
  • 【数据结构】_链表经典算法OJ:相交链表
  • linux中统计文件中特定单词或字符串的出现次数
  • CMake项目编译与开源项目目录结构
  • 面试常考题目——状态码总结
  • 96,【4】 buuctf web [BJDCTF2020]EzPHP
  • JavaFX - 事件处理
  • Mac上的虚拟化软件推荐