1
sと-1
sのリストが与えられたら、それが有効な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