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

记忆化搜索系列一>矩阵中的最长递增路径

目录

  • 题目分析:
  • 记忆化搜索方法:
  • 代码呈现:

题目分析:

链接: 题目链接在这里插入图片描述
这里是引用

记忆化搜索方法:

这里是引用

代码呈现:

class Solution {

    int m,n;
    int[] dx = {0,0,-1,1};
    int[] dy = {1,-1,0,0};
    int[][] mome;

    public int longestIncreasingPath(int[][] matrix) {
        int ret = 0;
        m = matrix.length;
        n = matrix[0].length;
        mome = new int[m][n];

        for(int i = 0; i < m; i++)
            for(int j = 0; j < n; j++)
                ret = Math.max(ret, dfs(matrix,i,j));

        return ret;   

    }

    private int dfs(int[][] matrix, int i, int j){
        if(mome[i][j] != 0)
            return mome[i][j];

        int ret = 1;//至少有一个最长递增路径

        for(int k = 0; k < 4; k++){
            int x = i + dx[k], y = j + dy[k];
            
            if(x >= 0 && x < m && y >= 0 && y < n && matrix[x][y] > matrix[i][j]){
                ret = Math.max(ret, dfs(matrix,x,y)+1);//注意进去第一个位置满足条件也算递增路径
            }
        }

        mome[i][j] = ret;
        return mome[i][j];
    }

}

相关文章:

  • 检查一个值 val 是否是特定类型的对象
  • Java 数组相关知识点
  • 用不了 Manus ?其实你能用 Llama或DeepSeek 做个自己的 AI Agent
  • 剑指 Offer II 065. 最短的单词编码
  • 没有最好的,只有最合适的:重新认识测试工具的价值
  • SAP S/4HANA Cloud Private Edition 2023 FPS03:AI助力业务创新
  • 洛谷 P2010 [NOIP 2016 普及组] 回文日期 Python
  • RocketMQ 详细教程(Spring Boot Spring Cloud Alibaba)
  • 靶场练习ing
  • 【A2DP】蓝牙A2DP协议剖析:从架构到规范
  • Linux进程基础知识
  • APIC 是什么?深度解析高级可编程中断控制器
  • Redis-配置文件
  • 【论文精读】Deformable DETR:用于端到端目标检测的可变形 Transformer
  • [Ai 力扣题单] 数组基本操作篇 27/704
  • 深陷帕金森困境,怎样重燃生活信心?
  • 基于 Vue 的Deepseek流式加载对话Demo
  • 网络安全基础知识:从零开始了解网络安全
  • 【网络协议】应用层协议HTTPS
  • C语言学习笔记-进阶(10)自定义类型:结构体
  • 怎样做游戏网站/兰州网站seo优化
  • 能看全世界地图的app/东莞关键词seo
  • 新手写作网站/推广方式营销方案
  • 贵阳快速建站模板/最新搜索关键词
  • 咸阳兼职做网站/东营优化路网
  • pc端手机网站 样式没居中/百度一下 你就知道首页