Вмассиве любого размера с целыми числами от 1 до 500,000 одно число повторяется дважды, все остальные числа уникальны. предложите наиболее быстрый алгоритм поиска повторяющегося числа. можете выполнить на c, c

Bksd Bksd    3   21.05.2019 22:50    1

Ответы
Gosha210403 Gosha210403  01.10.2020 05:29

1 создать вс массив с индексами от 0 до 500 например массив А (i) - число повторений числа i
все члены массива обнулить, в цикле по i A(i)= 0
2 пусть С(j) - исходный массив целых чисел
3 в цикле по j сделать операцию A(С(j))+=1 (или A(С(j))++) и проверить, не равно ли A(С(j)) двум

например повторяется число 30
сначала А(30) = 0
потом при первом упоминании А(30) = 1
при следующем А(30)=2

С( j ) - при котором выполнилось A(С(j)) = 2 и есть искомое число

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика