Дан массив с несколькими повторяющимися записями, найдите одну повторяющуюся запись O (N) время и постоянное пространство

Нам дан массив размера N, который содержит целые числа в диапазоне от 0 до N-2, включительно.

В массиве может быть несколько повторяющихся записей. Нам нужно найти одну из повторяющихся записей во времени и постоянном пространстве O (N).

Я думал взять произведение и сумму всех элементов массива, а также произведение и сумму всех чисел в диапазоне от 0 до N-2.

Тогда разница сумм и деление произведений даст нам два уравнения. Этот подход работал бы, если бы было указано, что есть только две повторяющиеся записи, но, поскольку их может быть больше, чем две, я думаю, что мой подход не работает.

Есть предложения?

Изменить: массив неизменяемый. Я понимаю, что это важная информация, и прошу прощения, что забыл включить ее ранее.

7
задан efficiencyIsBliss 20 November 2010 в 18:18
поделиться