Task 18. Вывести непарный элемент в числовом массиве

Task 18. Вывести непарный элемент в числовом массиве

UniLecs

Задача: дан массив натуральных чисел. Каждое из чисел присутствует в массиве ровно два раза, кроме одного. Найти число без пары.

Идея: воспользуемся операцией XOR (побитовое ИЛИ) и ее свойствами.

a XOR a = 0

a XOR 0 = a

a XOR b = b XOR a

Выполним XOR операцию для всех элементов массива:

a1 XOR a2 XOR ..... an

В результате парные элементы "обнулятся" и останется искомый элемент.

Реализация:

реализация на JS

https://gist.github.com/unilecs/25803cf8c0b2587c2de8ccb8fea451ad

Report Page