Dada uma lista de 1s e -1s, determine se é ou não um código OVSF válido (emitindo um valor de verdade ou falsey).
Os códigos OVSF são definidos da seguinte maneira:
[1]é um código OVSF.Se
Xfor um código OVSF, entãoX ++ XeX ++ -Xsão ambos códigos OVSF.Aqui
++está a concatenação da lista e-nega todos os elementos da lista.Nenhuma outra lista é um código OVSF válido.
Você pode supor que a lista de entrada contenha apenas -1e 1, mas deve manipular a lista vazia corretamente, bem como listas cujo comprimento não seja 2.
O código mais curto (em bytes) vence.
Casos de teste
[] -> 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