给定1s和-1s 的列表,请确定它是否是有效的OVSF代码(通过输出真值或假值)。
OVSF代码定义如下:
[1]是OVSF代码。如果
X是OVSF代码,则X ++ X和X ++ -X均为OVSF代码。这
++是列表串联,并-取反列表中的每个元素。没有其他列表是有效的OVSF代码。
您可以假设输入列表仅包含-1和1,但是您必须正确处理空列表以及长度不是2的幂的列表。
最短的代码(以字节为单位)获胜。
测试用例
[] -> 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