数组占位
数组占位法是一种通过观察一组候选数的放置情况,对未填单元格进行候选数删除的技巧。
它基于这样一个事实:在一个区域(行、列、宫)中,当
如果这
个单元格中只有这 个数字作为候选数,也就是没有其他候选数出现在这 个单元格中,那么该区域中的其他单元格里就不能再出现这 个候选数之一。因为无论这 个候选数作为答案数如何分布在这 个单元格中,这 个数字都必然会在该区域中各出现一次。进而可以将这 个数字从该区域其他单元格的候选数中删除;否则,某个候选数就会出现多次,从而违反数独规则。这种情况称为“裸数组”。 如果一个区域中的某
个候选数集中出现在 个单元格里,但这 个单元格中还含有其他候选数,那么这些“其他候选数”就可以从这 个单元格中删除。因为如果在这 个单元格中填入其他候选数,就会导致这 个候选数中的某些数字没有位置可填,同样会违反数独规则(每个数字必须恰好出现一次)。这种情况称为“隐数组”。
这种通过找到“
| 数组大小 | 裸数组 (删其他单元格中的数组候选数) | 隐数组 (删数组所在单元格中的其他候选数) |
|---|---|---|
| 裸数对 | 隐数对 | |
| 裸三数组 | 隐三数组 | |
| 裸四数组 | 隐四数组 |
理论上,
数组占位并不要求这