隐性数对可以扩展为隐性数组。
如果一个区域中的三个数字只出现在同样的三个格子里(隐性三数组),或四个数字只出现在四个格子里(隐性四数组),那么这些格子就恰好留给这组数字。
前置课程:请先学习隐性数对。
原理
与隐性数对的占有逻辑相同,只是小组更大。
这个区域需要这 N 个数字,而它们只有 N 个共同位置。如果其中任何一个位置被组外的数字占据,至少会有一个组内成员无处可去。
所以要从这 N 个格子中删除所有不属于该组的候选数。
演示
91647825387626589956859716984622973161784
想想隐性数对,但允许三个或四个数字共享同样的三个或四个格子。这个区域仍然需要每个数字。
91647825387626589956859716984622973161784
这里 5、6和8 只出现在这些标记的格子中——缩小它们的位置,直到只剩下数量匹配的格子。这就是隐性数组。
91647825387626589956859716984622973161784
这些格子必须恰好是 5、6和8(顺序不定)。多余的标记不可能成立——组外数字会让某个组内成员无家可归。
91647825387626589956859716984622973161784
删除多余候选数(此处为 1、2、3和9)(红色)。你为整组数字预留了这些位置。
示例 1
52392945142987418269796257417369524
找到在一个区域中只出现在同样 N 个格子里的 N 个数字。
52392945142987418269796257417369524
1、5和9 在这里组成隐性数组。
52392945142987418269796257417369524
清除这些格子中不属于该组的候选数(此处为 2、3、4和6)(红色)。这个区域的这些数字恰好需要这些位置。
示例 2
6598317243875948365418384365991358647256294818267468315
找到在一个区域中只出现在同样 N 个格子里的 N 个数字。
6598317243875948365418384365991358647256294818267468315
4、5和6 在这里组成隐性数组。
6598317243875948365418384365991358647256294818267468315
清除这些格子中不属于该组的候选数(此处为 2和9)(红色)。这个区域的这些数字恰好需要这些位置。