【每日一题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)
目录
相关文章
|
8月前
【每日一题Day292】LC1572矩阵对角线元素的和 模拟
【每日一题Day292】LC1572矩阵对角线元素的和 模拟
34 0
|
8月前
【每日一题Day342】LC2578最小和分割 | 贪心
【每日一题Day342】LC2578最小和分割 | 贪心
54 0
|
8月前
【每日一题Day357】LC1155掷骰子等于目标和的方法数 | dp
【每日一题Day357】LC1155掷骰子等于目标和的方法数 | dp
67 0
|
8月前
|
人工智能 算法 Java
数据结构与算法面试题:给定 n 个非负整数 a1,a2,a3,...,an,每个数代表坐标中的一个点(i, ai),请找出两个点之间的最大距离。(提示:动态规划)
数据结构与算法面试题:给定 n 个非负整数 a1,a2,a3,...,an,每个数代表坐标中的一个点(i, ai),请找出两个点之间的最大距离。(提示:动态规划)
101 1
|
8月前
【每日一题Day241】LC1254统计封闭岛屿的数目 | dfs
【每日一题Day241】LC1254统计封闭岛屿的数目 | dfs
55 1
|
8月前
【每日一题Day250】LC1253重构 2 行二进制矩阵 | 贪心模拟
【每日一题Day250】LC1253重构 2 行二进制矩阵 | 贪心模拟
62 0
|
8月前
【每日一题Day277】LC2569更新数组后处理求和查询 | 线段树
【每日一题Day277】LC2569更新数组后处理求和查询 | 线段树
49 0
|
8月前
【每日一题Day358】LC2698求一个整数的惩罚数 | 递归
【每日一题Day358】LC2698求一个整数的惩罚数 | 递归
62 0
L2-018 多项式A除以B (25 分)(数组模拟)
L2-018 多项式A除以B (25 分)(数组模拟)
193 0
L2-018 多项式A除以B (25 分)(数组模拟)
【每日一题Day104】LC2319判断矩阵是否是一个 X 矩阵 | 模拟
思路:如果对角线的元素等于0或者其他元素不等于0,那么返回false
90 0

热门文章

最新文章