Перевести в троичную систему. Сложить все таким образом, при котором каждый разряд складывается по модулю 3. Получим число y. Затем пройти по массиву и посчитать, сколько раз оно встречается. Если 1(mod 3) раз, то x=y, иначе x=y(+)y (тут такое сложение, как описано в начале).
Где мои 300к/сек?
@glupovat непонятно для чего понадобилось вот это:
> Затем пройти по массиву и посчитать, сколько раз оно встречается. Если 1(mod 3) раз, то x=y, иначе x=y(+)y (тут такое сложение, как описано в начале).
=> [1,1,1,2,2,2,3]
i = 0:
v1 = 1
cnt1 = 1
i = 1:
v2 = 1
cnt2 = 1
i = 3:
v3 = 1
cnt3 = 1
i = 4:
<= 2
// а если писать код на настоящем языке, то мне не нужно будет работать интерпретатором
@tempest последние три if и else - взаимоисключающие
@tempest https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=b46d435b4cfc30db8c8485e930d3ff4f лан
@tempest а, тут я уже жопой условие прочитал, показалось что уникальных числа всего три (плюс одно выпадающее)