Max XOR: выбрать число из первого массива

MediumАлгоритмы
07:00
Лучше работает на десктопе
AlgorithmsXORTrieBit Manipulation
Реальный собес9:02-50:32Teza.m4aСтраница собеса

Даны два массива неотрицательных целых чисел: candidates и queries.

Для каждого числа q из queries нужно выбрать такое число x из candidates, что значение x ^ q максимально.

Верните массив выбранных чисел той же длины, что и queries.

Если candidates пустой, выбросите ValueError.

Сигнатура

def max_xor_choices(candidates: list[int], queries: list[int]) -> list[int]:

Примеры

Пример 1

Вход:
candidates = [1,2,3]
queries = [0,1,2]
Выход:[3,2,1]

Пример 2

Вход:
candidates = [0,1,2,3]
queries = [0,1,2,3]
Выход:[3,2,1,0]

Пример 3

Вход:
candidates = [5,25,10]
queries = [5]
Выход:[25]
Консоль
Нажмите Run или Ctrl+Enter для запуска