nathanwailes

LeetCode 36 - Valid Sudoku - NeetCode solution

Oct 2nd, 2023
1,001
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.72 KB | None | 0 0
  1. class Solution:
  2.     def isValidSudoku(self, board: List[List[string]]) -> bool:
  3.         cols = collections.defaultdict(set)
  4.         rows = collections.defaultdict(set)
  5.         squares = collections.defaultdict(set) # key = (r /3, c /3)
  6.        
  7.         for r in range(9):
  8.             for c in range(9):
  9.                 if board[r][c] == ".":
  10.                     continue
  11.                 if (board[r][c] in rows[r] or
  12.                     board[r][c] in cols[c] or
  13.                     board[r][c] in squares[(r //3, c //3)]):
  14.                     return False
  15.                 cols[c].add(board[r][c])
  16.                 rows[r].add(board[r][c])
  17.                 squares[(r // 3, c // 3)].add(board[r][c])
  18.         return True
  19.  
Advertisement
Add Comment
Please, Sign In to add comment