Bestimmen Sie anhand einer Liste von 1s und -1s, ob es sich um einen gültigen OVSF-Code handelt oder nicht (indem Sie einen Wahrheits- oder einen falschen Wert ausgeben).
OVSF-Codes sind wie folgt definiert:
[1]ist ein OVSF-Code.Wenn
Xes sich um einen OVSF-Code handelt, sindX ++ XundX ++ -Xbeide OVSF-Codes.Hier
++ist die Listenverkettung und-negiert jedes Element in der Liste.Keine anderen Listen sind gültige OVSF-Codes.
Sie können davon ausgehen, dass die Eingabeliste nur -1und enthält 1, Sie müssen jedoch die leere Liste sowie Listen, deren Länge keine Potenz von 2 ist, korrekt behandeln.
Kürzester Code (in Bytes) gewinnt.
Testfälle
[] -> 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