здесь без объявления динамически массива, как они хранятся
все входы
Они просто хранят каждую строку тестового примера, а не все входы. Каждая строка состоит из двух чисел, разделенных пробелом, если вы разделите ее на пробел, вы получите оба числа в массиве.
Я больше запутался здесь, почему они делают это
Я могу дать несколько идей -
В диапазоне чисел вы получите двоичные числа, заканчивающиеся чередованием последовательности 0 и 1. Например -
- 10 -> ***** 0
- 11 -> ***** 1
- 12 -> ***** 0
- 13 -> ***** 1
для каждой пары 0, 1
XOR
будет равно 1. Теперь вам нужно выяснить, получаете ли вы четное количество пар или нечетное количество пар. Четное число пар приведет к четному числу от 1 до XOR и даст вам значение, заканчивающееся на 0
, что означает, что конечное значение XOR
является числом even
. И odd
наоборот.
Если у вас есть четное количество элементов в диапазоне, вы вполне уверены, что у вас есть несколько пар (0, 1)
. Но если это странно, в зависимости от того, является ли дополнительный элемент 0/1
, ваш расчет необходимо скорректировать.