递归、搜索与回溯-记忆化搜索: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];
    }
}
相关推荐
程序员黑豆6 分钟前
AI全栈开发 - Java:变量
java·前端·ai编程
我是一颗柠檬7 分钟前
【Java项目技术亮点】分库分表+数据路由策略:单表5000万后的架构升级方案
java·开发语言·分布式·架构
布朗克16816 分钟前
25 IO流高级操作——序列化、NIO与Files工具类
java·数据库·io·nio
小研说技术20 分钟前
Spring AI实现rag流程(简易版)
java·后端
运行时记录22 分钟前
别再手动写提示词了 — SkillOpt 让技能文档自己进化
算法
亓才孓26 分钟前
【本地项目引用外部库的类,想修改字段遇到的请缓存的问题】
java·maven
啦啦啦啦啦zzzz35 分钟前
算法总结(二分查找、双指针)
c++·算法
小林敲代码778835 分钟前
记录一下IDEA中很多变量变色的方案
java·开发语言·spring boot·idea
南知意-39 分钟前
IDEA 2026.1最新版安装教程
java·ide·intellij-idea·idea安装·idea激活
星子落怀aa1 小时前
Java 反复报错?Gemini助力修复
java