Diberikan daftar 1s dan -1s, tentukan apakah itu kode OVSF yang valid (dengan mengeluarkan nilai truey atau falsey).
Kode OVSF didefinisikan sebagai berikut:
[1]adalah kode OVSF.Jika
Xkode OVSF, makaX ++ XdanX ++ -Xkeduanya 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 -1dan 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