Sudoku solution count
Given a 9x9 Sudoku grid as a list of lists of integers where 0 marks an empty cell and 1..9 are filled, count how many ways the empty cells can be filled to satisfy standard Sudoku rules (each row, column, and 3x3 box contains 1..9 exactly once). To keep it cheap, stop counting once you reach 2 (so the return is 0, 1, or 2, where 2 means 'two or more / not unique'). Assume the given filled cells are consistent. Return an integer.
Implement
count_sudoku_solutions(board: list[list[int]]) → intExamples
in
[[[5,3,4,6,7,8,9,1,2],[6,7,2,1,9,5,3,4,8],[1,9,8,3,4,2,5,6,7],[8,5,9,7,6,1,4,2,3],[4,2,6,8,5,3,7,9,1],[7,1,3,9,2,4,8,5,6],[9,6,1,5,3,7,2,8,4],[2,8,7,4,1,9,6,3,5],[3,4,5,2,8,6,1,7,9]]]out1What a strong answer looks like
State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
0:00 of about 40 min
solution.py
InputExpectedGot
[[[5,3,4,6,7,8,9,1,2],[6,7,2,1,9,5,3,4,8],[1,9,8,3,4,2,5,6,7],[8,5,9,7,6,1,4,2,3],[4,2,6,8,5,3,7,9,1],[7,1,3,9,2,4,8,5,6],[9,6,1,5,3,7,2,8,4],[2,8,7,4,1,9,6,3,5],[3,4,5,2,8,6,1,7,9]]]1not run yetsample