递归、搜索与回溯-记忆化搜索: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];
    }
}
相关推荐
周杰伦fans6 分钟前
数列极限的定义
java·开发语言
Doraemomo8 分钟前
数据结构-哈希表
数据结构·算法·散列表
君君思密达15 分钟前
Leetcode Hot 100 题目详解-哈希表
数据结构·算法·leetcode
lucas_AI15 分钟前
Muse Glimmer 30B:Meta 难得给的真开源,强在哪、虚在哪
人工智能·算法
小白的后端世界17 分钟前
LangChain 模型初始化参数详解:从基础配置到企业级实践
java·人工智能·langchain
ai产品老杨19 分钟前
国产NPU视觉算法完整流程
算法
过期的秋刀鱼!22 分钟前
带替换的采样
人工智能·python·算法·决策树·机器学习
广州浮点FLOATLIC25 分钟前
Mentor Graphics浮动许可证管理为什么一到流片节点就失控
java·大数据·数据库·许可证管理·cad 许可证优化
过期的秋刀鱼!40 分钟前
使用多个决策树
人工智能·算法·决策树·机器学习·数据挖掘
Loongproxy40 分钟前
大规模采集为啥用隧道代理IP?会话保持如何做到无感轮换
java·服务器·网络