Leetcode 1094 Solution
This article provides solution to leetcode question 1094 (matrix-cells-in-distance-order)
Access this page by simply typing in "lcs 1094" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/matrix-cells-in-distance-order
Solution
class Solution:
def allCellsDistOrder(self, R: int, C: int, r0: int, c0: int) -> List[List[int]]:
q = collections.deque()
q.append((r0, c0))
seen = {(r0, c0)}
ans = []
while q:
r, c = q.popleft()
ans.append((r, c))
if r > 0 and (r - 1, c) not in seen:
q.append((r - 1, c))
seen.add((r - 1, c))
if r < R - 1 and (r + 1, c) not in seen:
q.append((r + 1, c))
seen.add((r + 1, c))
if c > 0 and (r, c - 1) not in seen:
q.append((r, c - 1))
seen.add((r, c - 1))
if c < C - 1 and (r, c + 1) not in seen:
q.append((r, c + 1))
seen.add((r, c + 1))
return ans