怎么给自己的网站设置关键词,惠东县住房和城乡规划建设局网站,开发工具箱,app推广30元一单给你一个大小为 n x n 的整数矩阵 grid 。
生成一个大小为 (n - 2) x (n - 2) 的整数矩阵 maxLocal #xff0c;并满足#xff1a;
maxLocal[i][j] 等于 grid 中以 i 1 行和 j 1 列为中心的 3 x 3 矩阵中的 最大值 。 换句话说#xff0c;我们希望找出 grid 中每个 3 x …给你一个大小为 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 public int[][] largestLocal(int[][] grid) {int high grid.length;int wide grid[0].length;int[][] res new int[high - 2][wide - 2];for (int i 1; i high-1; i) {for (int j 1; j wide-1; j) {res[i-1][j-1]Math.max(res[i-1][j-1],grid[i-1][j-1]);res[i-1][j-1]Math.max(res[i-1][j-1],grid[i-1][j]);res[i-1][j-1]Math.max(res[i-1][j-1],grid[i-1][j1]);res[i-1][j-1]Math.max(res[i-1][j-1],grid[i][j-1]);res[i-1][j-1]Math.max(res[i-1][j-1],grid[i][j]);res[i-1][j-1]Math.max(res[i-1][j-1],grid[i][j1]);res[i-1][j-1]Math.max(res[i-1][j-1],grid[i1][j-1]);res[i-1][j-1]Math.max(res[i-1][j-1],grid[i1][j]);res[i-1][j-1]Math.max(res[i-1][j-1],grid[i1][j1]);}}return res;}func largestLocal(grid [][]int) [][]int {high: len(grid)wide: len(grid[0])res:make([][]int,high-2)for i : 1; i high-1; i {res[i-1]make([]int,wide-2)for j : 1; j wide-1; j {for i1 : i-1; i1 i1; i1 {for j1 : j-1; j1 j1; j1 {if res[i-1][j-1] grid[i1][j1]{res[i-1][j-1] grid[i1][j1]}}}}}return res
}