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

Leetcode—329. 矩阵中的最长递增路径【困难】

2024每日刷题(165)

Leetcode—329. 矩阵中的最长递增路径

在这里插入图片描述

dfs + dp实现代码

class Solution {
public:
    int longestIncreasingPath(vector<vector<int>>& matrix) {
        // 9  9  4
        // 6  6  8
        // 2  1  1

        // 1  1  2
        // 2  2  1
        // 3  4  2

        int m = matrix.size();
        int n = matrix[0].size();
        vector<vector<int>> memo(m, vector<int>(n, 0));

        function<int(int, int, int)> dfs = [&](int i, int j, int pre) -> int {
            // out of boundary
            if(i < 0 || i == m || j < 0 || j == n) {
                return 0;
            }

            const int cur = matrix[i][j];
            if(cur <= pre) {
                return 0;
            }

            int &ans = memo[i][j];
            if(ans > 0) {
                return ans;
            }

            ans = 1 + max({
                dfs(i, j + 1, cur), dfs(i, j - 1, cur), dfs(i + 1, j, cur), dfs(i - 1, j, cur)
            });
            return ans;
        };
        
        int ans = 0;
        for(int i = 0; i < m; i++) {
            for(int j = 0; j < n; j++) {
                ans = max(ans, dfs(i, j, -1));
            }
        }
        return ans;
    }
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!


http://www.kler.cn/a/317532.html

相关文章:

  • 深入解析贪心算法及其应用实例
  • SQL,力扣题目1127, 用户购买平台
  • ElasticSearch学习笔记一:简单使用
  • 学Linux的第八天
  • nginx部署H5端程序与PC端进行区分及代理多个项目及H5内页面刷新出现404问题。
  • LLMs之Code:Github Spark的简介、安装和使用方法、案例应用之详细攻略
  • dbt snapshot命令及应用示例
  • 基于BeagleBone Black的网页LED控制功能(Flask+gpiod)
  • 【CSS】字体文本
  • SQL_UNION
  • 【Linux】系统字符集无法修改,单独修改vim后的文件字符集
  • 爬虫技术初步自学
  • FreeRTOS学习——Systick中断、SVC中断、PendSV中断
  • 反转字符串 II--力扣541
  • k8s介绍-搭建k8s
  • Redis数据结构之哈希表
  • 【QT】QSS基础
  • Qt-qmake语言
  • 【网络基础知识】详解TCP/IP协议栈
  • golang调用163邮箱发送邮件
  • Spring Data Rest 远程命令执⾏命令(CVE-2017-8046) 靶场攻略
  • phpword读取word docx文档文本及图片转html格式
  • ElasticSearch分页查询性能及封装实现
  • 为什么推荐使用英文版LabVIEW
  • linux-网络管理-网络配置
  • 直播美颜工具的开发详解:基于视频美颜SDK的解决方案