1
# Runtime: 329 ms (Top 84.2%) | Memory: 17.67 MB (Top 84.2%)5
def shortestBridge(self, grid):6
m, n = len(grid), len(grid[0])7
start_i, start_j = next(8
(i, j) for i in range(m) for j in range(n) if grid[i][j]11
stack = [(start_i, start_j)]16
for ii, jj in (i - 1, j), (i, j - 1), (i, j + 1), (i + 1, j):21
and (ii, jj) not in visited23
stack.append((ii, jj))31
for ii, jj in (i - 1, j), (i, j - 1), (i, j + 1), (i + 1, j):32
if 0 <= ii < m and 0 <= jj < n and (ii, jj) not in visited:35
new_queue.append((ii, jj))