После прочтения этого интересного вопроса мне напомнили сложный вопрос интервью, который у меня когда-то был, что я никогда не удовлетворительно ответил:
Вам предоставляется массив из n 32-разрядных целых без знака, где каждый элемент (кроме одного) повторяется кратным три раза. В O (n) время и используя как можно меньше вспомогательного пространства, найдите элемент массива, который не будет кратным три раза.
В качестве примера, учитывая этот массив:
1 1 2 2 2 3 3 3 3 3 3
Мы будем выводить 1, задавая массив
3 2 1 3 2 1 2 3 1 4 4 4 4
Мы будем выводить 4.
Это можно легко решить в O (n) времени и O (n) пространстве, используя хеш-таблицу для подсчета частот каждого элемента, хотя я сильно подозреваю, что, поскольку в заявлении о проблеме конкретно упоминалось, что массив содержит 32- разрядных целых без знака, что есть гораздо лучшее решение (я предполагаю, что O (1) пробел).
Есть ли у кого-нибудь идеи о том, как это решить?