Ein Ansatz, der leicht zu merken und in einem Interview zu artikulieren ist, besteht darin, die Tatsache zu verwenden, dass bei Betrachtung aller Zahlen in N Bits jedes Bit in genau der Hälfte dieser Werte und nicht in der anderen Hälfte gesetzt wird .
Wenn Sie alle Werte in der Datei durchlaufen und die Anzahl der Werte am Ende auf 32 setzen, erhalten Sie 32 Werte, die genau (2 ^ 32/2) oder etwas weniger als dieser Wert sind. Die Differenz zwischen dem Maximum (2 ^ 32/2) und der Summe ergibt die Summe der Bits, die an jeder Position der fehlenden Werte gesetzt sind.
Sobald Sie das haben, können Sie alle möglichen Sätze von 4 Werten bestimmen, die diese Summen ergeben könnten. Aus diesem Grund können Sie die Werte in der Datei erneut durchgehen und nach Werten suchen, die Teil dieser Kombinationen sind. Wenn Sie eine finden, werden Kombinationen, die diesen Wert enthalten, als Möglichkeiten ausgeschlossen. Sobald Sie nur noch eine mögliche Kombination haben, müssen Sie antworten.
Wenn Sie beispielsweise ein Nibble verwenden, haben Sie die folgenden Werte:
1010
0110
1111
0111
1101
1001
0100
0101
0001
1011
1100
1110
Die an jeder Position gesetzten Gesamtbits sind:
7867
Subtrahiert man diese von 8 (4 ^ 2/2), so erhält man:
1021
Was bedeutet, dass es diese folgenden möglichen Sätze von 4 Werten gibt:
1000
0000
0011
0010
1010
0001
0010
0000
(Verzeih mir, wenn ich welche verpasst habe, ich mache das nur aus der Sicht)
Wenn wir uns die ursprünglichen Zahlen noch einmal ansehen, finden wir sofort 1010, was bedeutet, dass der erste Satz die Antwort war.