Учитывая список 1s и -1s, определите, является ли это действительным кодом OVSF (выводя значение true или false).
Коды 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