Meydan okuma
Bir liste verildiğinde, listenin artan ve azalan öğelerin çalışmalarında gruplanmasının eşit boyutlu listelerin bir listesiyle sonuçlanıp sonuçlanmayacağını belirleyin.
Başka bir deyişle, listenin "dönüm noktaları" eşit aralıklarla yerleştirilir.
Misal
İşte bir örnek: 0, 3, 7, 5, 2, 3, 6
0, 3, 7
artar, 7, 5, 2
azalır ve 2, 3, 6
artar. Dolayısıyla bu doğrudur.
Başka bir örnek: 1, 4, 6, 8, 5, 3, 5, 7, 9
1, 4, 6, 8
artar, 8, 5, 3
azalır ve 3, 5, 7, 9
artar. Bu yüzden bu sahtelik.
Kurallar ve Spesifikasyonlar
- Hiçbir bitişik öğe eşit olmayacak
- Tüm sayıların dilinizin makul sayı aralığında olduğu varsayılabilir
- Gönderinizi golf oynamanıza yardımcı olursa, tüm sayıların tamsayı olduğunu varsayabilirsiniz.
- Bu kod golf , bu yüzden en kısa cevap kazanır
- Herhangi bir makul gösterimde bir liste olarak girin ve herhangi bir doğruluk / falsy değeri olarak çıktı alın. İki değer tutarlı olmalıdır.
Test Durumları
Input -> Output
1, 3, 5, 8, 6, 4, 2, 3, 5, 7, 6, 4, 2, 5, 7, 9, 6, 4, 2 -> True
1, 3, 5, 7, 6, 4, 5, 7, 9, 8, 6, 4, 2, 3, 5 -> False
2, 3, 6, 4, 2, 3, 7, 5, 3, 4, 6 -> True
3, 6, 4, 8, 5, 7, 3, 5, 2 -> True
8 -> True
1, 3, 5, 7 -> True
4, 5, 7, 6, 8, 9 -> False
6, 4, 2, 3, 5, 4, 2 -> True
8, 5, 3, 2, 4, 6, 5, 3, 2, 5, 7 -> False
Not : Tüm sayıların tek haneli olduğunu varsayamazsınız (dilinizin tamamı işleyemezse); test senaryoları, vakaları bu şekilde yazmamın daha kolay olması nedeniyle bunu yansıtır: P İşte bu aralığın dışında sayıları olan birkaç test vakası:
1, 5, 10, 19, 15, 13, 8, 13, 18, 23, 19, 18, 14 -> True
15, 14, 17, 16, 19, 18 -> True
12, 16, 19, 15, 18, 19 -> False
1, 2, 3, 2
, geçerli girdi olur ve eğer doğru ya da yanlış kabul edilirse? Bu örnekte, bir sonraki değer 1 olduğunda bunu doğru yapar, ancak 3 bunu yanlış yapar.