Diberikan daftar 1
s dan -1
s, tentukan apakah itu kode OVSF yang valid (dengan mengeluarkan nilai truey atau falsey).
Kode OVSF didefinisikan sebagai berikut:
[1]
adalah kode OVSF.Jika
X
kode OVSF, makaX ++ X
danX ++ -X
keduanya kode OVSF.Berikut
++
adalah daftar gabungan, dan-
meniadakan setiap elemen dalam daftar.Tidak ada daftar lain yang merupakan kode OVSF yang valid.
Anda dapat menganggap daftar input hanya berisi -1
dan 1
, tetapi Anda harus menangani daftar kosong dengan benar, serta daftar yang panjangnya bukan kekuatan 2.
Kode terpendek (dalam byte) menang.
Uji kasus
[] -> 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