Ctrl K

Развернуть накопленный XOR

Средняя
Был массив неотрицательных чисел, но от него сохранился только массив running той же длины: running[i] — это XOR (^) всех элементов исходного массива с индексами от 0 до i включительно. Восстановите и верните исходный массив. Он определяется однозначно.
Пример 1
running=[6, 3, 3, 0] → [6, 5, 0, 3]

Исходный массив [6, 5, 0, 3]: 6 = 6, 6 ^ 5 = 3, 3 ^ 0 = 3, 3 ^ 3 = 0.

Пример 2
running=[9] → [9]

Единственный элемент совпадает со своим накопленным XOR.

Пример 3
running=[1, 3, 7, 15] → [1, 2, 4, 8]

Каждый шаг добавляет новый бит: [1, 2, 4, 8].

Ограничения
  • 1 ≤ len(running) ≤ 10⁵
  • 0 ≤ running[i] ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВсе наборы добавок СредняяВсе разные наборы карт СредняяЛишний среди троек СредняяДва числа без пары СредняяНайти лишнюю копию Средняя
загружаем Python…
Вход
running=[6, 3, 3, 0]
Ожидается
[6, 5, 0, 3]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 81 тест на сервере, включая скрытые.