Ctrl K

Восстановить массив по XOR соседей

Лёгкая
Был массив arr из n неотрицательных целых чисел, но сохранили от него только две вещи: - массив links длины n - 1, где links[i] = arr[i] XOR arr[i + 1]; - первый элемент start = arr[0]. Восстановите и верните исходный массив arr. Можно показать, что он определяется однозначно.
Пример 1
links=[5, 5, 0], start=3 → [3, 6, 3, 3]

3 XOR 5 = 6, 6 XOR 5 = 3, 3 XOR 0 = 3. Проверка: 3^6 = 5, 6^3 = 5, 3^3 = 0.

Пример 2
links=[8], start=0 → [0, 8]

Если первый элемент 0, второй равен 0 XOR 8 = 8.

Ограничения
  • 2 ≤ n ≤ 10⁴, len(links) = n - 1
  • 0 ≤ links[i] ≤ 10⁵
  • 0 ≤ start ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЧисло без пары ЛёгкаяПотерянный билет ЛёгкаяДвойная бирка и пропавшая ЛёгкаяЗеркало и негатив ЛёгкаяКратно пяти на каждом шаге Лёгкая
загружаем Python…
Вход
links=[5, 5, 0], start=3
Ожидается
[3, 6, 3, 3]

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