UniLecs #134. Пропущенный символ
UniLecsЗадача: есть два одинаковых символьных массива, в одном из них удалили один символ. Вам необходимо определить, какой символ был удален.
Входные данные: два символьных массива размера N и (N-1), где N от 1 до 10^4. Элементы в массиве не повторяются.
Вывод: символ, ктр был удален в одном из массивов.
Пример:
['a', 'b', 'c'], ['a', 'b']
Answer: 'c'
Идея: воспользуемся операцией XOR, эта операция обладает след.свойствами:
a XOR 0 = a
a XOR a = 0
a XOR b = b XOR a
(a XOR b) XOR b = a
Т.е. если применить их к набору парных одинаковых символов то мы получим 0.
Если мы применим эту операцию к набору состоящем из двух исходных массивов, то в итоге мы получим символ у ктр нет пары, т.е. как раз тот ктр и был удален.
Реализация:
https://gist.github.com/unilecs/724932323d78b5c03b0074d59f67ddf1
Test: