36. Valid Sudoku
Tags:
Medium
Skills:
Matrix
June 24, 2025
04:32 AM
No headings found
Loading content...
Related Posts
Leetcode
No headings found
Related Posts
Leetcode
Problem
Bạn cần kiểm ta xem bảng sudoku đã cho có hợp lệ không, dựa trên 3 quy tắc:
Approach
Set để lưu các chuỗi biểu diễn số đã xuất hiện ở hàng/cột/khối, ví dụ "5 in row 0", "5 in col 1", "5 in block 0-2".Time and space complexity:
TC: O(n^2), với n là 9
Solution
1function isValidSudoku(board: string[][]): boolean {
2 const seen: Set<string> = new Set();
3 for(let i =0; i < 9; i++) {
4 for(let j =0; j < 9; j++) {
5 const num = board[i][j];
6 if(num !== '.') {
7 const row = num + 'in row' + i;
8 const col = num + 'in col' + j;
9 const block = num + 'in block' + Math.floor(i/3) + '-' + Math.floor(j/3);
10
11 if(seen.has(row) || seen.has(col) || seen.has(block)) {
12 return false;
13 }
14
15 seen.add(row);
16 seen.add(col);
17 seen.add(block);
18 }
19 }
20 }
21
22 return true;
23};set để đánh dấu đã xuất hiệntrue