Sabit bir aralıktaki tek boyutlu bir sayı dizisini göz önünde bulundurun, örn.
[1, 2, 4, 6, 8, 0, 2, 7, 3] in range [0, 10⟩
Her Zaman-Artan Grafik * **, bu dizideki tüm noktaları soldan sağa bağlayan ve her zaman yukarı giden veya düz kalan bir çizgidir. Gerekirse, çizgi yukarıdan aşağıya doğru sarılır ve bir sonraki noktaya ulaşmak için oradan yukarı doğru devam eder.
Bu zorluğun amacı, diziyi tamamen azalan farklı alt dizilere bölmektir, böylelikle sınırlı bir dikey eksenle birlikte çizildiğinde Sürekli Artan Bir Grafik oluşturacaklardır. Bu, bir dizinin sonuna ve bir sonraki dizinin başına bir nokta eklenerek yapılır, böylece üst sınırı geçen çizginin açısı, alt sınırı geçen çizgiyle ve iki geçiş noktasıyla aynı hizada olur. aynı yatay koordinatlara sahip. Yukarıdaki örnek aşağıdaki çıktıyı verir:
[1, 2, 4, 6, 8, 10]
[-2, 0, 2, 7, 13]
[-3, 3]
Ve karşılık gelen grafik aşağıdaki gibi görünecektir: Eksen daha iyi bir görünüm için uzatılmış olarak: Gerekli çıktı, Sürekli Artan Grafiğin parçalarını oluşturan bir alt listesidir. Bir arsa yapmak gerekli değildir, ancak size bonus puan kazandırır;). Çıktı, ekleri bir şekilde açıkça ayırmalıdır.
notlar
- Aralık, sol (dahil) sınır olarak sıfır olacaktır ve sağ sınır, bazı tam sayı N olacaktır.
- Dizi asla aralık içinde olmayan değerler içermez.
- İlk sıranın başlangıçta ek bir noktası yoktur.
- Son alt dizinin sonunda ek bir noktaya sahip değil.
- Sıraları çizmek için gerekli olan başlangıç endekslerini sağlamanız gerekmez.
Test durumları
Input: [0, 2, 4, 6, 1, 3, 5, 0], 7
Output: [0, 2, 4, 6, 8], [-1, 1, 3, 5, 7], [-2, 0]
Input: [1, 1, 2, 3, 5, 8, 3, 1], 10
Output: [1, 1, 2, 3, 5, 8, 13],[-2, 3, 11],[-7, 1]
Input: [5, 4, 3, 2, 1], 10
Output: [5, 14],[-5, 4, 13],[-6, 3, 12],[-7, 2, 11],[-8, 1]
Input: [0, 1, 4, 9, 16, 15, 0], 17
Output: [0, 1, 4, 9, 16, 32], [-1, 15, 17], [-2, 0]
puanlama
Bu kod golf, bayt cinsinden en kısa kod kazanır.
* Asıl jargon değil ** Aslında, @ ngm'nin işaret ettiği gibi Asla Düşmeyen Grafik olarak adlandırılmalıdır, ancak bu daha az etkileyici görünmektedir.