Kita semua tahu bahwa banyak latihan hanya memengaruhi setengah tubuh Anda, jadi Anda harus melakukannya dua kali, satu kali untuk setiap sisi. Latihan semacam itu memiliki dua rekan, satu untuk sisi kiri dan satu untuk sisi kanan. Namun, tidak perlu mengeksekusi kedua rekan secara berurutan, selama latihan untuk kedua belah pihak berada dalam urutan yang sama. Anda mungkin juga beralih antara sisi dalam program latihan Anda, tetapi tidak masuk akal untuk memulai beberapa latihan dengan satu sisi dan beberapa dengan yang lain.
Tantangan
Bagian latihan adalah daftar bilangan bulat bukan nol, di mana bagian kedua terdiri dari bilangan bulat dari bagian pertama yang dinegasikan dan dalam urutan yang sama, dan tanda-tanda bilangan bulat pada setiap bagian adalah sama. Tanda paruh pertama bagian latihan adalah sisi yang memimpin .
Sebuah set latihan adalah nol atau lebih bagian latihan dengan sisi terkemuka yang sama digabungkan bersama-sama.
Diberikan daftar bilangan bulat bukan nol sebagai input, tentukan apakah itu adalah set latihan. Bilangan bulat tidak selalu unik. Panjang daftar itu belum tentu genap.
Solusi Anda mungkin tidak menggunakan celah standar apa pun . Anda dapat menggunakan dua nilai konsisten berbeda untuk output. Ini adalah kode-golf , sehingga solusi terpendek menang.
Contohnya
[-5, -1, -7, -6, -5, 5, 1, 7, 6, 5]
adalah contoh dari bagian latihan. Babak pertama adalah [-5, -1, -7, -6, -5]
, dan babak terakhir adalah [5, 1, 7, 6, 5]
, yang masing-masing bilangan bulat di babak pertama dinegasikan. Selain itu, bilangan bulat paruh pertama adalah semua tanda yang sama. Sisi utama bagian latihan ini adalah -1
.
[3, 6, 5, -3, -6, -5, 1, 6, 4, 3, -1, -6, -4, -3]
adalah contoh dari set latihan. Bagian latihan individualnya adalah [3, 6, 5, -3, -6, -5]
dan [1, 6, 4, 3, -1, -6, -4, -3]
, dan mereka berdua memiliki sisi kepemimpinan 1
.
[4, -4, -5, 5]
, meskipun hanya terdiri dari bagian latihan yang valid, bukan set latihan, karena bagian pertama [4, -4]
, memiliki sisi terdepan 1
, sedangkan bagian kedua [-5, 5]
, memiliki sisi terdepan -1
.
Uji kasus
Kasus uji yang valid:
[]
[1, -1]
[1, -1, 1, -1]
[-6, 6, -5, -4, -3, 5, 4, 3]
[-1, -5, -8, 1, 5, 8, -7, -6, -5, -3, 7, 6, 5, 3]
[-1, -5, -8, 1, 5, 8, -1, 1]
Kasus uji tidak valid:
[1]
[1, -2]
[1, 2, -3, -1, -2, 3]
[1, 2, 3, -3, -1, -2]
[-1, -5, -8, 1, 5, 8, 7, 6, 5, 3, -7, -6, -5, -3]
[1, 2, 3, 5, 1, 2, 3, 5]
[1, 2, -5, 4, -6, 5, 5, -6]
[1, 2, -1, 3, -2, -3]
[1, -2, 1]
[-1, -1, 1]
[1, -1, 1]