Valid Sudoku
Determine if a Sudoku is valid, according to:Sudoku Puzzles - The Rules.
The Sudoku board could be partially filled, where empty cells are filled with the character'.'.
A partially filled sudoku which is valid.
Note: A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.
分析
对于小方块,大坐标(i,j)-> 小坐标(( i / 3, j / 3) 是块的坐标,定位到块)->大坐标((row / 3) * 3在真正位置travel)
三个数组row[i][val] ,col[j][val] ,block[index][val] 。此处block的index = i / 3 * 3 + j / 3.
( i / 3, j / 3) 是块的坐标,i / 3 * 3 + j / 3直接定位到第几块,相当是 i*row+j(island里定位常用)
2种块坐标表达法
val就是数字1-9,类似dp里背包用val做Index
用bit做,因为每次loop,row的值都知道了,所以每次loop,row都重设为0,但是col和block的值需要完全loop完整个board才知道,所以用数组存下了col和block所有的值,这里总共81个值。所以数组9
python, 注意是cols[j] 不是cols[i]
Last updated
Was this helpful?