递归、搜索与回溯-记忆化搜索:40.矩阵中的最长递增路径

题目链接:329. 矩阵中的最长递增路径(困难)

算法原理:

解法:DFS

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-10
 * Time: 23:37
 */
class Solution {
    //329. 矩阵中的最长递增路径
    //吴小哲跟我写的一样
    int[] dx=new int[]{0,0,1,-1};
    int[] dy=new int[]{1,-1,0,0};
    int m,n;
    int[][] memo;
    public int longestIncreasingPath(int[][] matrix) {
        m=matrix.length;n=matrix[0].length;
        memo=new int[m][n];
        int ret=0;
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                ret=Math.max(dfs(matrix,i,j),ret);
            }
        }
        return ret;
    }
    public int dfs(int[][] matrix,int i,int j){
        if(memo[i][j]!=0) return memo[i][j];
        int ret=1;
        for(int k=0;k<4;k++){
            int x=i+dx[k],y=j+dy[k];
            if(x<m&&y<n&&x>=0&&y>=0&&matrix[x][y]>matrix[i][j]){
                ret=Math.max(dfs(matrix,x,y)+1,ret);
            }
        }
        memo[i][j]=ret;
        return memo[i][j];
    }
}
相关推荐
NULL指向我2 分钟前
信号处理学习笔记6:ADC采样线性处理实测拟合
人工智能·算法·机器学习
Lyyaoo.4 分钟前
【JAVA基础面经】线程安全的单例模式
java·安全·单例模式
汽车仪器仪表相关领域4 分钟前
NHXJ-02汽车悬架检验台 实操型实战手册
人工智能·功能测试·测试工具·算法·安全·单元测试·可用性测试
源码之屋6 分钟前
计算机毕业设计:Python天气数据采集与可视化分析平台 Django框架 线性回归 数据分析 大数据 机器学习 大模型 气象数据(建议收藏)✅
人工智能·python·深度学习·算法·django·线性回归·课程设计
我爱C编程6 分钟前
【3.2】FFT/IFFT变换的数学原理概述与MATLAB仿真
算法·matlab·fpga·fft·ifft
_李小白9 分钟前
【OSG学习笔记】Day 39: NodeCallback(帧回调机制)
java·笔记·学习
如来神掌十八式11 分钟前
设计模式之装饰器模式
java·设计模式
chao18984414 分钟前
基于改进二进制粒子群算法的含需求响应机组组合问题MATLAB实现
开发语言·算法·matlab
cch891818 分钟前
C++、Python与汇编语言终极对比
java·开发语言·jvm
Imxyk21 分钟前
P9242 [蓝桥杯 2023 省 B] 接龙数列
c++·算法·图论