# [LeetCode]#2325. Decode the Message

**Environment: Python 3.8**

**Key technique: chain**

You are given an `n x n`

integer matrix `grid`

.

Generate an integer matrix `maxLocal`

of size `(n - 2) x (n - 2)`

such that:

`maxLocal[i][j]`

is equal to the**largest**value of the`3 x 3`

matrix in`grid`

centered around row`i + 1`

and column`j + 1`

.

In other words, we want to find the largest value in every contiguous `3 x 3`

matrix in `grid`

.

Return *the generated matrix*.

**Example 1:**

`Input: grid = [[9,9,8,1],[5,6,2,6],[8,2,6,4],[6,2,2,2]]`

Output: [[9,9],[8,6]]

Explanation: The diagram above shows the original matrix and the generated matrix.

Notice that each value in the generated matrix corresponds to the largest value of a contiguous 3 x 3 matrix in grid.

**Analysis:**

- Calculate output matrix size
- Use mask conception to find the local largest number.

**Solution:**

`class Solution:`

def largestLocal(self, grid):

n = len(grid)-2

ans = [[0]*n for _ in range(n)]

for i in range(n):

for j in range(n):

ans[i][j] = max(chain(grid[i ][j:j+3],

grid[i+1][j:j+3],

grid[i+2][j:j+3]))

return ans

**Submissions:**

Reference:

The chain function is very good and it let me know python deeply. Thanks below reference.