Biorąc pod uwagę listę 1
S i -1
S, określić, czy jest to prawidłowy kod OVSF (przez wyprowadzanie truthy lub wartości falsey).
Kody OVSF są zdefiniowane w następujący sposób:
[1]
to kod OVSF.Jeśli
X
jest to kod OVSF, toX ++ X
iX ++ -X
oba są kodami OVSF.Oto
++
konkatenacja listy i-
neguje każdy element na liście.Żadne inne listy nie są prawidłowymi kodami OVSF.
Możesz założyć, że lista wejściowa zawiera tylko -1
i 1
, ale musisz poprawnie obsługiwać pustą listę, a także listy, których długość nie jest potęgą 2.
Najkrótszy kod (w bajtach) wygrywa.
Przypadki testowe
[] -> False
[1] -> True
[-1] -> False
[1, 1] -> True
[1, -1] -> True
[1, 1, 1, 1] -> True
[1, 1, 1, 1, 1] -> False
[1, -1, -1, 1, -1, 1, 1, -1] -> True
[1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1] -> False
[1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1] -> False
[1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1] -> True