Şartname
Bu zorluğu belirtmek kolaydır: girdiniz boş olmayan bir negatif tamsayı dizisidir ve göreviniz bunu olabildiğince az artan alt dizilere bölmektir. Daha resmi olarak, girdi dizisi ise A
, çıktı şu şekilde diziler dizisidir B
:
- Her diziler ayrık (mutlaka bitişik olmayan) alt dizilere
B
bir bölüm oluştururA
. Endüktif olarak, bu, yaB
tekli dizi içerenA
ya da ilk elemanının bir alt dizisiB
olduğuA
ve geri kalanınınA
da bu alt dizinin kaldırıldığı bir bölümü oluşturduğu anlamına gelir. - İçindeki her dizi
B
artıyor (kesinlikle değil). - İçindeki dizi sayısı
B
minimumdur.
Hem giriş hem de çıkış, dilinizin yerel dizi biçiminde alınabilir. Birkaç doğru çıkış olabileceğini unutmayın.
Misal
Giriş dizisini düşünün A = [1,2,1,2,5,4,7,1]
. Bir olası çıktı B = [[1],[1,2,4,7],[1,2,5]]
. Bölüm durumu bu şemadan açıkça görülmektedir:
A 1 2 1 2 5 4 7 1
B[0] 1
B[1] 1 2 4 7
B[2] 1 2 5
Ayrıca, her dizi B
artıyor. Son olarak, A
artan iki alt diziye bölünemez, bu nedenle uzunluğu B
da minimumdur. Böylece geçerli bir çıktıdır.
Kurallar ve puanlama
Bir işlev veya tam bir program yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklara izin verilmez. Zaman sınırlaması yoktur, ancak göndermeden önce çözümünüzü tüm test senaryolarında değerlendirmelisiniz.
Test senaryoları
Yalnızca bir olası çıktı gösterilir, ancak birkaç geçerli seçenek olabilir. Özellikle, sonuçtaki dizilerin sırası önemli değildir (ancak her bir dizi artan sırada olmalıdır).
[0] -> [[0]]
[3,5,8] -> [[3,5,8]]
[2,2,2,2] -> [[2,2,2,2]]
[1154,1012,976,845] -> [[845],[976],[1012],[1154]]
[6,32,1,2,34,8] -> [[1,2,8],[6,32,34]]
[1,12,1,12,1,13] -> [[1,1,1,13],[12,12]]
[6,4,6,13,18,0,3] -> [[0,3],[4,6,13,18],[6]]
[1,2,3,2,3,4,7,1] -> [[1,1],[2,2,3,4,7],[3]]
[0,9,2,7,4,5,6,3,8] -> [[0,2,3,8],[4,5,6],[7],[9]]
[7,1,17,15,17,2,15,1,6] -> [[1,1,6],[2,15],[7,15,17],[17]]
[4,12,2,10,15,2,2,19,16,12] -> [[2,2,2,12],[4,10,15,16],[12,19]]
[10,13,9,2,11,1,10,17,19,1] -> [[1,1],[2,10,17,19],[9,11],[10,13]]
[3,7,3,8,14,16,19,15,16,2] -> [[2],[3,3,8,14,15,16],[7,16,19]]
[15,5,13,13,15,9,4,2,2,17] -> [[2,2,17],[4],[5,9],[13,13,15],[15]]
B
, umarım şimdi daha açıktırlar.
[0,5,2,0] -> [[0,5],[0,2]]
, (ör. Her birini bir kez kullanmak yerine ilk sıfırı geri dönüştürme) gibi çözümlere izin veriyor gibi görünüyor . Bu kasıtlı mı?