Ctrl K

XOR каждого подмножества

Лёгкая
Дан массив целых чисел values. XOR набора чисел — это побитовое исключающее ИЛИ всех его элементов; у пустого набора он равен 0. Переберите все подмножества массива (в том числе пустое и сам массив), для каждого найдите его XOR и верните сумму всех этих значений. Подмножества различаются позициями выбранных элементов, поэтому одинаковые по значениям, но взятые из разных мест, считаются отдельно.
Пример 1
values=[2, 3] → 6

Подмножества: пустое (0), [2] (2), [3] (3), [2,3] (2 XOR 3 = 1). Сумма 0 + 2 + 3 + 1 = 6.

Пример 2
values=[4, 4] → 8

Пустое даёт 0, каждое из двух одиночных — 4, пара 4 XOR 4 = 0. Итого 8: одинаковые элементы считаются разными.

Пример 3
values=[1, 2, 4] → 28

Восемь подмножеств дают XOR 0, 1, 2, 3, 4, 5, 6, 7; сумма 28.

Ограничения
  • 1 ≤ values.length ≤ 12
  • 1 ≤ values[i] ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЦепочки с квадратными суммами СложнаяЧестный раздел цветных бусин СложнаяПереезды между офисами СложнаяНаборы с полным OR СредняяСколько свидетелей могут быть честными Сложная
загружаем Python…
Вход
values=[2, 3]
Ожидается
6

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