поиск недостающих чисел
От: free.rFczZZ  
Дата: 28.08.08 18:19
Оценка:
есть массив из N целых чисел от 0 до N. Каждое число из массива повторяется в нем 1 раз, кроме 0 (нуля) — он может встретиться сколько угодно раз. Задача — найти недостающие числа массива (в диапазоне от 1 до N) вместо которых стоит 0. Использовать в качестве вспомогательных только простые целочисленные переменные. Скорость роста алгоритма O(N) = N

пример: n=5, 0 2 4 1 0
решение: 3 5

Сначала думал посчитать хэш: T = X1 XOR X2 ... (Xn != 0), и заодно хэш универсума U = 1 XOR 2 XOR ... XOR N. Тогда T XOR U — это есть хэш недостающих элементов.. только вот как из него просто повыдирать элементы не додумался, похоже нельзя. Если есть такой способ решения — будет интересно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.