LeetCode-2373. 矩阵中的局部最大值【矩阵,数组】

news2024/9/29 18:14:45

LeetCode-2373. 矩阵中的局部最大值【矩阵,数组】

  • 题目描述:
  • 解题思路一:原地修改。首先将每个3*3的矩阵的最大值存放在左上角的点,然后修改给的grid矩阵的大小。
  • 解题思路二:暴力,申请一个数组
  • 解题思路三:0

题目描述:

给你一个大小为 n x n 的整数矩阵 grid 。

生成一个大小为 (n - 2) x (n - 2) 的整数矩阵 maxLocal ,并满足:

maxLocal[i][j] 等于 grid 中以 i + 1 行和 j + 1 列为中心的 3 x 3 矩阵中的 最大值 。
换句话说,我们希望找出 grid 中每个 3 x 3 矩阵中的最大值。

返回生成的矩阵。

示例 1:
在这里插入图片描述

输入:grid = [[9,9,8,1],[5,6,2,6],[8,2,6,4],[6,2,2,2]]
输出:[[9,9],[8,6]]
解释:原矩阵和生成的矩阵如上图所示。
注意,生成的矩阵中,每个值都对应 grid 中一个相接的 3 x 3 矩阵的最大值。

示例 2:
在这里插入图片描述

输入:grid = [[1,1,1,1,1],[1,1,1,1,1],[1,1,2,1,1],[1,1,1,1,1],[1,1,1,1,1]]
输出:[[2,2,2],[2,2,2],[2,2,2]]
解释:注意,2 包含在 grid 中每个 3 x 3 的矩阵中。

提示:

n == grid.length == grid[i].length
3 <= n <= 100
1 <= grid[i][j] <= 100
https://leetcode.cn/problems/largest-local-values-in-a-matrix/

解题思路一:原地修改。首先将每个3*3的矩阵的最大值存放在左上角的点,然后修改给的grid矩阵的大小。

for(int k=i;k<i+3;++k)
grid[i][j]=max(grid[i][j],max_element(grid[k].begin()+j,grid[k].begin()+j+3));
//以grid[i][j]为3
3矩阵左上角的一点,将最大值存在其中

class Solution {
public:
    vector<vector<int>> largestLocal(vector<vector<int>>& grid) {
        int n=grid.size();
        for(int i=0;i<n-2;++i){
            for(int j=0;j<n-2;++j)
                for(int k=i;k<i+3;++k)//以grid[i][j]为3*3矩阵左上角的一点,将最大值存在其中
                    grid[i][j]=max(grid[i][j],*max_element(grid[k].begin()+j,grid[k].begin()+j+3));
            grid[i].resize(n-2);//每当一行遍历完的时候,可以直接将列减少2
        }
        grid.resize(n-2);//全部遍历完后,将最终的行减小2
        return grid;        
    }
};

时间复杂度:O(n2)
空间复杂度:O(1)

解题思路二:暴力,申请一个数组

class Solution {
public:
    vector<vector<int>> largestLocal(vector<vector<int>>& grid) {
        int n = grid.size();
        vector<vector<int>> res(n - 2, vector<int>(n - 2, 0));
        for (int i = 0; i < n - 2; i++) {
            for (int j = 0; j < n - 2; j++) {
                for (int x = i; x < i + 3; x++) {
                    for (int y = j; y < j + 3; y++) {
                        res[i][j] = max(res[i][j], grid[x][y]);
                    }
                }
            }
        }
        return res;
    }
};

时间复杂度:O(n2)
空间复杂度:O(1)这里不考虑返回值的空间。

解题思路三:0


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/381203.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

想学Java开发,有什么方式可以选择?

想学习软件开发Java高级编程语言的小伙伴看过来&#xff0c;这里有多年Java职业教育经验总结以及学习技巧分享&#xff0c;不容错过的精彩内容&#xff01; 一年之计在于春&#xff0c;阳春三月是学习的好时光。万物复苏&#xff0c;一切都可以重新开始&#xff0c;如果你也在考…

一些开源的,好看的前端组件/样式库

以下是一些受欢迎的开源 CSS 样式库&#xff1a;Bootstrap&#xff1a;https://getbootstrap.com/Materialize CSS&#xff1a;https://materializecss.com/Bulma&#xff1a;https://bulma.io/Foundation&#xff1a;https://foundation.zurb.com/Semantic UI&#xff1a;http…

智慧燃气管理系统

在数字经济时代&#xff0c;迫切需要通过数字化建设智能天然气&#xff0c;提高天然气的基本安全水平&#xff0c;提高企业的智能管理水平。这是人们可以看到、触摸和使用的智能应用&#xff0c;也是为智能城市奠定良好基础的必修课。智能燃气是以GIS为基础&#xff0c;采用物联…

商简智能计划与排程SPS在纺织行业中的应用

企业背景 某织造、染色及后整理一体化工艺的纺织面料企业&#xff0c;主要从事户外功能运动服装、内衣、泳衣、汽车内饰等面料的研发和销售&#xff0c;年产值在20亿左右&#xff0c;是迪卡侬运动面料最优质供应商之一。 纺织行业特点 印染具有典型的流程行业特性&#xff0c…

从功能测试到自动化测试,我只花了67天,薪资翻倍

在这个吃技术的IT行业来说&#xff0c;我刚入行的时候每天做的也是最基础的工作&#xff0c;但是随着时间的消磨&#xff0c;我产生了对自我和岗位价值和意义的困惑。 随着移动互联网的发展&#xff0c;从业人员能力的整体进步&#xff0c;软件测试需要具备的能力要求越来越高…

Databend 开源周报 第 82 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.com 。Whats New探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。Features & Improvements :…

vue源码分析-基础的数据代理检测

简单回顾一下这个系列的前两节&#xff0c;前两节花了大量的篇幅介绍了Vue的选项合并&#xff0c;选项合并是Vue实例初始化的开始&#xff0c;Vue为开发者提供了丰富的选项配置&#xff0c;而每个选项都严格规定了合并的策略。然而这只是初始化中的第一步&#xff0c;这一节我们…

【计算机组成原理 - 第一章】计算机系统概论(完结)

本章参考王道考研相关课程&#xff1a; 【2021版】1.2.1_计算机硬件的基本组成_哔哩哔哩_bilibili 【2021版】1.2.2_认识各个硬件部件_哔哩哔哩_bilibili 【2021版】1.2.3_计算机系统的层次结构_哔哩哔哩_bilibili 【2021版】1.3_计算机的性能指标_哔哩哔哩_bilibili 目录 一、…

绘制带有角度的CAD图形

这个CAD图形用到的命令有CAD直线、CAD圆、CAD圆弧、CAD偏移和CAD旋转等多个CAD命令相结合才绘制出来。 目标对象 操作步骤 1.先使用直线命令画相交于A点的两条线段&#xff0c;然后A点为圆心画半径12和半径15的圆 2.然后以B点为圆心画半径2的圆&#xff0c;使用复制命令指定圆…

Maven的基本使用

1.Maven的基本介绍2.Maven中仓库的概念3.Maven中坐标的概念坐标示例如下&#xff1a;<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope>//这个是范围 &l…

elasticsearch 8 修改分词器并数据迁移

1. 安装中文索引 下载地址&#xff1a;https://github.com/medcl/elasticsearch-analysis-ik/releases 注意&#xff1a;版本要和ES版本对应 解压后放入plugins文件中 然后重启服务&#xff1a;docker-compose restart elasticsearch&#xff0c;大概需要1分钟 2. 数据迁移…

【Spark分布式内存计算框架——Spark Streaming】9. 获取偏移量 应用案例:百度搜索风云榜(上)

4.4 获取偏移量 当SparkStreaming集成Kafka时&#xff0c;无论是Old Consumer API中Direct方式还是New Consumer API方式获取的数据&#xff0c;每批次的数据封装在KafkaRDD中&#xff0c;其中包含每条数据的元数据信息。 文档&#xff1a;http://spark.apache.org/docs/2.4.…

重磅:Meta未来4年路线图曝光,Quest出货超2000万台

The Verge今天曝光了一份Meta内部AR/VR产品规划图&#xff0c;这份规划图为Meta高管为Reality Labs员工的内部分享&#xff0c;包括了大量AR/VR产品信息&#xff0c;下面我们一起来看看。一&#xff0c;未来四年规划Meta Reality Labs四年规划&#xff1a;1&#xff0c;2023年&…

你知道吗?火狐搜集您的数据?

导读请注意,打包在 Firefox Web 浏览器里面的地理位置服务即使浏览器关闭后也会在后台运行。我们还没有从关于浏览器插件丑闻的消息中平复下来。插件原本目的是保卫隐私&#xff0c;但现在却把信息卖给了第三方公司。然而更令人愤怒的是其规模完全超出我们的预计。MLS MLS&…

报错“FirewallD is not running”怎么办,如何解决?

目录 一、报错详情 二、解决方法—开启防火墙步骤 步骤一&#xff1a;先通过命令查看一下防火墙的状态。 步骤二&#xff1a;开启防火墙。 步骤三&#xff1a;再次查看防火墙状态 一、报错详情 在docker创建redis容器&#xff0c;在进行window访问redis容器端口进行绑定设…

IGKBoard(imx6ull)-ADC编程MQ-2烟雾传感器采样

文章目录1- ADC介绍2- MQ-2烟雾传感器介绍&#xff08;1&#xff09;工作原理&#xff08;2&#xff09;MQ-2应用电路3- MQ-2烟雾传感器硬件连接4- ADC驱动配置5- 编程查看当前浓度1- ADC介绍 ADC是Analog-to-Digital Converter的缩写&#xff0c;指模数转换器。真实世界的模拟…

【C#基础】C# 预处理器指令

序号系列文章8【C#基础】C# 面向对象编程9【C# 基础】C# 异常处理操作10【C#基础】C# 正则表达式文章目录前言1&#xff0c;预处理器指令的概念2&#xff0c;预处理器指令的定义与使用2.1&#xff0c;可为空上下文2.2&#xff0c;定义符号2.3&#xff0c;条件编译2.4&#xff0…

KConfig语言学习(一文全览)

KConfig 语言学习菜单项菜单属性类型定义prompt: 输入提示default: 默认值depends on/requires: 依赖关系select: 反向依赖关系imply: 弱反向依赖关系visible if: 选项可见range: 数据范围help: 帮助信息菜单依赖关系菜单结构关系KConfig语法config: 配置项menuconfig: 配置菜单…

发布依赖到maven仓库

maven中央仓库是一个开放的仓库&#xff0c;所以我们也可以把自己开发的jar推送到远程仓库&#xff0c;这样可以直接引入pom依赖使用我们的库。 准备工作 ● 需要一个github账号&#xff08;程序员必备&#xff09; ● 网络代理&#xff08;涉及到的网站通常没版本在国内直接访…

Computers Graphics(CAG)及Elsevier常见期刊投稿记录

1.期刊地址 Editorial Managerhttps://www.editorialmanager.com/cag/default2.aspx先进行用户注册&#xff0c;登录后进入首页点击Submit New Manuscript开始提交手稿&#xff0c;其他期刊流程相同&#xff0c;CAG所有的投稿注意事项见&#xff1a;Guide for authors - Comp…