leetcode2373. 矩阵中的局部最大值

news/2025/1/12 6:12:00/
  • https://leetcode.cn/problems/largest-local-values-in-a-matrix/

  • 给你一个大小为 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

code 暴力

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;}
};

code 单调队列

  • https://leetcode.cn/problems/largest-local-values-in-a-matrix/solution/javapythonmei-ju-mo-ni-dan-diao-dui-lie-fm0pn/
    在这里插入图片描述
class Solution {
public:vector<vector<int>> largestLocal(vector<vector<int>>& grid) {int n = grid.size() - 2;// 中间预处理数组vector<vector<int>> res(grid.size(), vector<int>(n,0));// 结果数组vector<vector<int>> ans(n, vector<int>(n,0));for(int i = 0; i < grid.size(); i++){int que[100] = {0}; // 每行声明一个单调队列int hh = 0; // 头int tt = -1; // 尾for(int j = 0; j < grid.size(); j++){// 头结点下标超过区间时,从队头出队if(hh <= tt && que[hh] < j - 2)hh++;// 当队尾元素小于当前元素时,从队尾出队while(hh <= tt && grid[i][que[tt]] <= grid[i][j] ) tt--;// 入队que[++tt] = j;// 达到区间if(j >= 2){res[i][j - 2] = grid[i][que[hh]];}}}for(int i = 0; i < n; i++){for(int j = 0; j < n; j++){int k = i + 2;while(k >= i){ans[i][j] = max(ans[i][j],res[k][j]);k--;}}}return ans;}};作者:cnsummer
链接:https://leetcode.cn/problems/largest-local-values-in-a-matrix/solution/c-typescript-2373-ju-zhen-zhong-de-ju-bu-vxa1/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

cg

  • leetcode239. 滑动窗口最大值 单调队列
  • 二维单调队列思路:遍历i,j,每一行维护一个单调队列,当j>=2时代表窗口数达到3个,此时记录单调最大值,这个最大值更新的是当前行和当前行的前两行的最大值,用k来进行遍历,当然k需要在结果数组允许行数的边界内。
    单调队列记录的是下标,当左侧下标离开左侧边界时需要移除。

http://www.ppmy.cn/news/907801.html

相关文章

wifi 服务集 - bss/ess/bssid/essid

IBSS -- 独立基本服务集 BSS -- 基本服务集 ESS -- 扩展服务集 bssid --AP MAC地址 essid -- 无线网络名称 服务集&#xff08;Service set&#xff09;是无线局域网中的一个术语&#xff0c;用以描述802.11无线网络的构成单位&#xff08;一组互相有联系的无线设备&a…

神通数据库官网解决方案 电信行业:中国联通全国集中综合结算系统

本文来自神通数据库官网http://www.shentongdata.com/index.php?bid56 系统概述 中国联通全国集中综合结算系统是中国联通首例全国集中建设项目&#xff0c;也是国产数据库在电信行业核心系统应用的首次成功实践。作为中国联通核心业务支撑系统之一&#xff0c;承载了与国际…

阿里云SLB负载均衡ESS弹性伸缩

SLB负载均衡 SLB应用场景 SLB应用架构 SLB实战 SLB实验结果 ESS概念 ESS工作流程 ESS实战 SLB应用场景 在互联网中有很多的流量&#xff0c;当流量非常非常多的时候&#xff0c;仅仅只有一台或者两台服务器的时候肯定无法承受&#xff0c;相对应产生的技术即为slb负载…

中国联通再现用户净流失,在运营商市场进一步边缘化

三大运营商都公布了它们12月的数据&#xff0c;其中中国移动和中国电信均取得移动用户净增长&#xff0c;而中国联通则出现了净流失&#xff0c;显示出中国联通在三大运营商中的竞争中被进一步边缘化。 中国移动、中国电信、中国联通的移动用户数数据显示&#xff0c;它们分别净…

统信UOS系统故障维护

问题一&#xff1a;电脑开机显示如下&#xff1a; 故障解决&#xff1a; 1&#xff09;重启在grub界面按字母E进编辑模式&#xff0c;如下&#xff1a; 2&#xff09;在Linux开头的那一行末尾添加参数breakmount&#xff0c;如下&#xff1a; 4&#xff09;修改好后直接按F10或…

BSS,ESS,SSID,BSSID,ESSID,VAP概念详解

BSS&#xff08;基本服务集&#xff09; 分为Independent BSS和Infrastructure BSS两种&#xff1a;基础结构基本服务集 Infrastructure BSS&#xff1a;BSS中有AP&#xff1b;独立基本服务集 Independent BSS&#xff08;IBSS&#xff09;&#xff1a;即Ad-hoc模式&#xff0…

电信运营商的 MBOSS 系统

目录 文章目录 目录MBOSSBSSOSSMSSMBOSS MBOSS,即: BSS(Business Support System,业务支撑系统):是面向运营商业务和服务的前端支撑系统,包括计费、结算、帐务、客服、营业等系统。OSS(Operation Support System,运营支撑系统):是面向运营商自身 ICT 技术资产的后端…

中国联通智能路侧单元白皮书

中国联通智能路侧单元白皮书 智能路侧设备&#xff08;Road Side Unit, RSU&#xff09;作为道路基础设施网络化、智能化的关键基础设备&#xff0c;将承担道路与车辆之间通信的重任&#xff0c;为 L5 级自动驾驶的终极目标铺平道路。 2 RSU 架构及功能 2.1 基本功能和架构 …