Давши список 1
s і -1
s, визначте, чи це дійсний код OVSF (вивівши значення truthy або falsey).
Коди 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