forked from neetcode-gh/leetcode
- Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path0036-valid-sudoku.cs
30 lines (24 loc) · 1.08 KB
/
0036-valid-sudoku.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
publicclassSolution{
publicboolIsValidSudoku(char[][]board){
varrows=newDictionary<int,HashSet<char>>();
varcols=newDictionary<int,HashSet<char>>();
varsquares=newDictionary<(int,int),HashSet<char>>();
for(varr=0;r<9;r++){
rows[r]=newHashSet<char>();
for(varc=0;c<9;c++){
if(!cols.ContainsKey(c))cols[c]=newHashSet<char>();
if(!squares.ContainsKey((r/3,c/3)))
squares[(r/3,c/3)]=newHashSet<char>();
if(board[r][c]=='.')continue;
if(rows[r].Contains(board[r][c])||
cols[c].Contains(board[r][c])||
squares[(r/3,c/3)].Contains(board[r][c]))
returnfalse;
rows[r].Add(board[r][c]);
cols[c].Add(board[r][c]);
squares[(r/3,c/3)].Add(board[r][c]);
}
}
returntrue;
}
}