Bir 1
s ve -1
s listesi verildiğinde , geçerli bir OVSF kodu olup olmadığını belirleyin (bir truthy veya falsey değeri yazarak).
OVSF kodları aşağıdaki gibi tanımlanır:
[1]
OVSF kodudur.Bir
X
OVSF kodu ise, o zamanX ++ X
veX ++ -X
her ikisi de OVSF kodlarıdır.İşte
++
liste bitiştirme ve listedeki-
her elemanı yok sayıyor.Başka hiçbir liste geçerli OVSF kodları değildir.
Sen girdi listesi yalnızca varsayabiliriz -1
ve 1
ancak uzunluğu 2 'lik bir güç değildir boş listeyi düzgün yanı sıra listelerini işlemesi gerekir.
En kısa kod (bayt cinsinden) kazanır.
Test durumları
[] -> 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