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

leetcode 2684. 矩阵中移动的最大次数

题目如下
在这里插入图片描述

数据范围
在这里插入图片描述

本题使用常规动态规划就行,不过要注意由于有三个转移的方向,所以我们对dp数组的遍历应该是从上到下 从左到右即按列优先遍历。

通过代码

class Solution {
public:
    int maxMoves(vector<vector<int>>& grid) {
        int n = grid.size();
        int m = grid[0].size();
        vector<vector<int>> dp(n,vector<int>(m,0));
        int ans = 0;
     
        for(int j = 1;j < m;j++){
            for(int i = 0;i < n;i++){
                
                if(j > 0 && grid[i][j] > grid[i][j - 1])dp[i][j] = max(dp[i][j],dp[i][j - 1] + 1);
                if(j > 0 && i > 0 && grid[i][j] > grid[i - 1][j - 1])dp[i][j] = max(dp[i][j],dp[i - 1][j - 1] + 1);
                if(j > 0 && i + 1 < n && grid[i][j] > grid[i + 1][j - 1])dp[i][j] = max(dp[i][j],dp[i + 1][j - 1] + 1);             if(dp[i][j] == 0)dp[i][j] = -1000000;
                //对于到不了的地方应该标记以防被后面的块作为有效路径算入
                ans = max(ans,dp[i][j]);
                
            }
            
        }
        /*for(int i = 0;i < n;i++){
            for(int j = 0;j < m;j++){
                cout << dp[i][j] << " ";
            }
            cout << endl;
        }*/
        return ans;
    }
};
//tips 当然本题同样可以利用滚动数组的思想用一维数组来存储上一轮的数组 这里不多赘述

在这里插入图片描述

相关文章:

  • DeepSeek介绍本地部署保姆级教程
  • 三角测量——用相机运动估计特征点的空间位置
  • MySQL与Oracle对比及区别
  • #渗透测试#批量漏洞挖掘#致远互联AnalyticsCloud 分析云 任意文件读取
  • Maven 构建优化技巧
  • Grafana-使用Button修改MySQL数据库
  • Proxmox 更新软件包数据库(TASK ERROR: command ‘apt-get update‘ failed: exit code 100)
  • 青少年编程与数学 02-009 Django 5 Web 编程 12课题、表单处理
  • HTTP请求响应分析:HTTP/1.1→HTTP/2
  • Linux 查看磁盘中的大文件
  • 第一章:认识Tailwind CSS - 第四节 - Tailwind CSS 与其他 CSS 方案的对比
  • sib报错:com.*.xctrunner is not in your device!
  • 排序算法——人无完人
  • [极客大挑战 2019]Havefun1
  • deepseek + kimi 高效生成PPT
  • 爬虫实战:利用代理ip爬取推特网站数据
  • 深入理解队列数据结构:从定义到Python实现与应用场景
  • AMD R9-9950X服务器:游戏服务器搭建的终极利器
  • Java 实战:在图片指定位置贴二维码或条形码生成海报
  • vue开发时,用localStorage常用方法及存储数组方法。
  • 网络工程师高级职称/郑州seo推广外包
  • 重庆网站建设 优化/seo站长教程
  • 怎么做相册的网站/百度推广客服
  • 时尚类网站建设/seo教程技术
  • wordpress添加优酷视频/搜索引擎优化培训
  • 公司做网站哪家好/海淀区seo多少钱