当前位置: 首页 > 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];
    }

}
http://www.dtcms.com/a/63413.html

相关文章:

  • 检查一个值 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)自定义类型:结构体
  • # linux有哪些桌面环境?有哪些显示服务器协议及显示服务器?有哪些用于开发图形用户界面的工具包?
  • 消息队列MQ使用场景有哪些?
  • 【VS+Qt】VS中编辑Qt中ui界面,代码中未更新
  • 如何在前后端分离项目当中调用星火大模型实现AI问答模块设计?前后端点亮星火:Vue+Node 全链路打通 AI 问答系统
  • 运维AI自动化配置的方案选型
  • Ubuntu 24.04 安装与配置 JetBrains Toolbox 指南
  • 【网络安全工程】任务12:网络安全设备
  • 第十一届蓝桥杯单片机国赛
  • Pandas数据清洗实战之清洗猫眼电影
  • 工程化与框架系列(28)--前端国际化实现