【每日一题Day133】LC2373矩阵中的局部最大值 | 模拟

简介: 【每日一题Day133】LC2373矩阵中的局部最大值 | 模拟

矩阵中的局部最大值【LC2373】

给你一个大小为 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 矩阵中的最大值。

返回生成的矩阵

  • 思路:
    枚举每个3*3的小矩阵,记录最大值,返回结果
  • 实现
class Solution {
    public int[][] largestLocal(int[][] grid) {
        int n = grid.length;
        int[][] res = new int[n - 2][n - 2];
        for (int i = 0; i < n - 2; i++){
            for (int j = 0; j < n - 2; j++){
                int max = 0;
                for (int a = i; a <= i + 2; a++){
                    for (int b = j; b <= j + 2; b++){
                        max = Math.max(grid[a][b], max);
                    }
                }
                res[i][j] = max;
            }
        }
        return res;
    }
}

复杂度

  • 时间复杂度:O(n2C)
  • 空间复杂度:O(1)
目录
相关文章
|
7月前
【每日一题Day292】LC1572矩阵对角线元素的和 模拟
【每日一题Day292】LC1572矩阵对角线元素的和 模拟
30 0
|
7月前
【每日一题Day342】LC2578最小和分割 | 贪心
【每日一题Day342】LC2578最小和分割 | 贪心
48 0
|
7月前
【每日一题Day345】LC2562找出数组的串联值 | 模拟
【每日一题Day345】LC2562找出数组的串联值 | 模拟
43 0
|
7月前
|
vr&ar
【每日一题Day166】LC1053交换一次的先前排列 | 贪心
【每日一题Day166】LC1053交换一次的先前排列 | 贪心
74 1
|
7月前
【每日一题Day250】LC1253重构 2 行二进制矩阵 | 贪心模拟
【每日一题Day250】LC1253重构 2 行二进制矩阵 | 贪心模拟
51 0
|
7月前
【每日一题Day255】LC2679矩阵中的和 | 排序
【每日一题Day255】LC2679矩阵中的和 | 排序
30 0
|
7月前
【每日一题Day277】LC2569更新数组后处理求和查询 | 线段树
【每日一题Day277】LC2569更新数组后处理求和查询 | 线段树
38 0
|
7月前
【每日一题Day165】LC1039多边形三角剖分的最低得分 | 区间dp
【每日一题Day165】LC1039多边形三角剖分的最低得分 | 区间dp
59 0
|
7月前
【每日一题Day240】LC2481分割圆的最少切割次数 | fenlei
【每日一题Day240】LC2481分割圆的最少切割次数 | fenlei
33 0
|
存储
【每日一题Day60】LC1703得到连续 K 个 1 的最少相邻交换次数 | 中位数贪心
局部最优:x位于区间[p[0],p[k−1]]内部时【无论位于哪个位置】,到p[0]和p[k−1]的距离是定值p[k−1]−p[0],因此应使x xx位于所有区间的内部即中位数,使x xx到所有区间的距离为定值,此时能够达到全局最优
104 0
【每日一题Day60】LC1703得到连续 K 个 1 的最少相邻交换次数 | 中位数贪心
下一篇
DataWorks