PPCG topluluğu sayesinde, Santa hediyelerini ulaşım iskelesine geçmek için doğru sıraya koymayı başardı. Ne yazık ki, ulaşım rıhtımı işaretleri kırıldı, bu yüzden tüm hediyeleri nereye koyacağını bilmiyor! Hediyelerin hepsi Noel Baba'nın daha iyi bir fikir olacağını itiraf ettiği aralıklarına göre değil, birlikte gruplandırılmıştır.
Şimdi, sıralı düzende verilen hediyeler göz önüne alındığında, şimdiki zamanın doğru sırada olmasını sağlayacak olası tüm minimum aralık konfigürasyonlarını belirleyin. Yani, Challenge # 5'teki algoritmaya göre hediyeleri sıralamanın sıralamayı değiştirmeyeceği şekilde tüm minimum aralık yapılandırmalarını bulun.
Meydan okuma
Minimum aralık yapılandırması, aralıkların her biri mümkün olduğunca küçük olacak şekilde aralık listesidir. Diğer bir deyişle, bir aralık belirli bir hediye alt kümesini kapsayacak şekilde belirlenmişse, aralığın minimum ve maksimum değerleri alt kümeninkiyle aynı olmalıdır. Başka bir deyişle, kapaktaki herhangi bir aralığı daraltmak artık kapak olmamasına neden olur.
Buradaki zorluk, mevcut boyutlar için geçerli olabilecek tüm olası minimum aralık konfigürasyonlarını bulmaktır. Bir örnek verelim:[3, 1, 2, 5, 4, 7, 6]
Mevcut yapılandırmanın tamamını almak için önemsiz bir durum var. Bu durumda, [[1, 7]]
bir çözüm olurdu.
Benzersiz unsurlara sahip örnekler için, başka bir önemsiz durum olacaktır [[3], [1], [2], [5], [4], [7], [6]]
(çünkü aralıkların sipariş edilmesine gerek yoktur).
Bu örnek için, biz de görmek [[1, 3], [4, 7]]
ve [[1, 3], [4, 5], [6, 7]]
hem de, çalışacak [[1, 3], [5], [4], [6, 7]]
ve [[1, 3], [4, 5], [7], [6]]
.
İçin son cevap [3, 1, 2, 5, 4, 7, 6]
olurdu [[[3], [1], [2], [5], [4], [7], [6]], [[3], [1], [2], [5], [4], [6, 7]], [[3], [1], [2], [4, 5], [7], [6]], [[3], [1], [2], [4, 5], [6, 7]], [[3], [1], [2], [4, 7]], [[3], [1, 2], [5], [4], [7], [6]], [[3], [1, 2], [5], [4], [6, 7]], [[3], [1, 2], [4, 5], [7], [6]], [[3], [1, 2], [4, 5], [6, 7]], [[3], [1, 2], [4, 7]], [[1, 3], [5], [4], [7], [6]], [[1, 3], [5], [4], [6, 7]], [[1, 3], [4, 5], [7], [6]], [[1, 3], [4, 5], [6, 7]], [[1, 3], [4, 7]], [[1, 5], [7], [6]], [[1, 5], [6, 7]], [[1, 7]]]
.
Biçimlendirme Spesifikasyonları
Giriş, dilinizin makul desteklenen sayı aralığında makul bir tamsayıların düz bir listesi olarak verilecektir. Giriş yinelenen öğeler içerebilir. Çıktı, makul herhangi bir formatta pozitif tamsayıların 3D listesi olarak verilmelidir.
(İkinci tabakanın altındadır) çıktınıza Her aralık olarak da temsil edilebilir [min, max]
, [num]
bu tek değer aralığı, ya da tüm aralığı kendisi, ancak çıkış biçimi olarak tutarlı olmalıdır eğer. Lütfen biraz farklı bir çıktı biçimi kullanmak isteyip istemediğinizi belirtin.
Yinelenen değerler çıktıdaki tek bir aralıkta yer almalıdır; yani, çıkıştaki hiçbir iki aralıkta çakışma olamaz.
Çözümünüz aralıkları herhangi bir sırayla döndürebilir ve bunun deterministik olması gerekmez.
kurallar
- Standart Loopholes Uygula
- Bu kod golf yani bayttaki en kısa cevap kazanır
- Hiçbir cevap kabul edilmeyecek
Yinelenen öğeleri içeren bir liste için Test Durumu:
2 3 2 4 -> [[[2, 3], [4]], [[2, 4]]]
Referans uygulaması
Üstbilgi bağlantıdır.
Not: Advent Of Code'dan bu meydan okuma serisi için ilham aldım . Bu siteyle hiçbir bağlantım yok
Buradaki ilk zorluğun 'Bağlantılı' bölümüne bakarak dizideki tüm zorlukların bir listesini görebilirsiniz .
Mutlu golf!