Game of Life LeetCode solution in Python
1class Solution:2def gameOfLife(self, board: List[List[int]]) -> None:3r = len(board)4c = len(board[0])5ans = [[0] * c for _ in range(r)]6neighs = [[1, 0], [-1, 0], [0, 1], [0, -1], [-1, -1], [-1, 1], [1, 1], [1, -1]]78for i in range(r):9for j in range(c):10livecnt, deadcnt = 0, 011for di, dj in neighs:12if 0 <= (i + di) < r and 0 <= (j + dj) < c:13if board[i + di][j + dj] == 0 or board[i + di][j + dj] == -1:14deadcnt += 115else:16livecnt += 117if board[i][j] == 0:18if livecnt == 3:19board[i][j] = -120else:21if livecnt == 2 or livecnt == 3:22board[i][j] = 123else:24board[i][j] = -225for i in range(r):26for j in range(c):27if board[i][j] == -1:28board[i][j] = 129elif board[i][j] == -2:30board[i][j] = 0