diff --git a/leetocde_289.py b/leetocde_289.py new file mode 100644 index 00000000..4dbc0e3f --- /dev/null +++ b/leetocde_289.py @@ -0,0 +1,29 @@ +class Solution: + def gameOfLife(self, board: List[List[int]]) -> None: + m = len(board) + n = len(board[0]) + + directions = [(-1,-1),(-1,0),(-1,1), + (0,-1), (0,1), + (1,-1),(1,0),(1,1)] + + for i in range(m): + for j in range(n): + live = 0 + for dx, dy in directions: + x = i + dx + y = j + dy + if 0 <= x < m and 0 <= y < n and abs(board[x][y]) == 1: + live += 1 + + if board[i][j] == 1 and (live < 2 or live > 3): + board[i][j] = -1 # live → dead + if board[i][j] == 0 and live == 3: + board[i][j] = 2 # dead → live + + for i in range(m): + for j in range(n): + if board[i][j] > 0: + board[i][j] = 1 + else: + board[i][j] = 0 \ No newline at end of file diff --git a/leetocde_448.py b/leetocde_448.py new file mode 100644 index 00000000..91edce3c --- /dev/null +++ b/leetocde_448.py @@ -0,0 +1,13 @@ +class Solution: + def findDisappearedNumbers(self, nums: List[int]) -> List[int]: + for i in range(len(nums)): + idx = abs(nums[i]) - 1 + nums[idx] = -abs(nums[idx]) + + res = [] + for i in range(len(nums)): + if nums[i] > 0: + res.append(i + 1) + + return res + \ No newline at end of file