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