# Leetcode 769 Solution

https://leetcode.com/problems/largest-plus-sign

## Solution

``````class Solution:
def orderOfLargestPlusSign(self, N: int, mines: List[List[int]]) -> int:
mines_set = set([tuple(mine) for mine in mines])

left_mines = [[0] * N for _ in range(N)]
right_mines = [[0] * N for _ in range(N)]
top_mines = [[0] * N for _ in range(N)]
bottom_mines = [[0] * N for _ in range(N)]

for i in range(N):
length = 0
for j in range(N):
if (i, j) not in mines_set:
length += 1
else:
length = 0
left_mines[i][j] = length

for i in range(N):
length = 0
for j in reversed(range(N)):
if (i, j) not in mines_set:
length += 1
else:
length = 0
right_mines[i][j] = length

for j in range(N):
length = 0
for i in range(N):
if (i, j) not in mines_set:
length += 1
else:
length = 0
top_mines[i][j] = length

for j in range(N):
length = 0
for i in reversed(range(N)):
if (i, j) not in mines_set:
length += 1
else:
length = 0
bottom_mines[i][j] = length

ans = 0
for i in range(N):
for j in range(N):
local_opt = min(
left_mines[i][j],
right_mines[i][j],
top_mines[i][j],
bottom_mines[i][j],
)

ans = max(local_opt, ans)
return ans
``````