Biorąc pod uwagę listę 1S i -1S, 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
Xjest to kod OVSF, toX ++ XiX ++ -Xoba 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 -1i 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