Girdi ve çıktılar olarak farklı tamsayıların bir listesini alan ya da aşağıdaki baş aşağı sayı piramidindeki girdi sayılarının oluşum sayısını döndüren bir program ya da işlev yazmalısınız.
Her adımda orijinal listeden başlayarak, her bir bitişik sayı çiftinin (örn. 5 1 2 6
Olur 5 2 6
) maksimum değerlerini içeren yeni bir liste oluştururuz . Listede yalnızca bir numara olduğunda duruyoruz.
Tam piramit 5 1 2 6
DİR
5 1 2 6
5 2 6
5 6
6
Ortaya çıkan olay sayısı 3 1 2 4
( 5 1 2 6
sırasıyla).
Giriş
- Tekrarlama yapılmayan bir veya daha fazla tamsayının listesi. (ör
1 5 1 6
. geçersiz.)
Çıktı
- Pozitif tamsayıların listesi.
i
Listenin inci elemanı geçiş sayısı olani
piramidin th giriş numarası.
Örnekler
Giriş => Çıkış
-5 => 1
8 4 => 2 1
5 9 7 => 1 4 1
1 2 3 9 8 6 7 => 1 2 3 16 3 1 2
6 4 2 1 3 5 => 6 4 2 1 3 5
5 2 9 1 6 0 => 2 1 12 1 4 1
120 5 -60 9 12 1 3 0 1200 => 8 2 1 3 16 1 4 1 9
68 61 92 58 19 84 75 71 46 69 25 56 78 10 89 => 2 1 39 2 1 27 6 5 1 6 1 2 14 1 12
Bu kod golf bu yüzden en kısa giriş kazanır.
Bonus bulmaca: sorunu O(n*log n)
zamanında çözebilir misin ?