2373.矩阵中的局部最大值
【LetMeFly】2373.矩阵中的局部最大值
力扣题目链接: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
方法一:模拟
假设grid的size为$n\times n$,那么答案的size就为$(n - 2)\times(n-2)$
先生成这么大的空数组,然后遍历答案数组的每一个位置在原始数组中对应的$3\times3$矩阵的中心,对于每个位置,求出其$3\times3$矩阵的最大值即可
- 时间复杂度$O(len(grid)^2)$
- 空间复杂度$O(1)$,力扣算法返回值不计入算法的空间复杂度
AC代码
C++
1 |
|
Python
1 |
|
语法糖简化:
1 |
|
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/129274862
2373.矩阵中的局部最大值
https://blog.letmefly.xyz/2023/03/01/LeetCode 2373.矩阵中的局部最大值/