Gökdelenler Yarışması'nın daha kısa versiyonu
Görev
Bir dizi bina yüksekliği ve pozitif bir tamsayı göz önüne alındığında, yüksekliklerin k
tüm permütasyonlarını (kopyalar olmadan) bulun, böylece k
binalar tam olarak görülebilir.
Herhangi bir bina, arkasındaki tüm kısa veya eşit yükseklikte binaları gizleyecektir.
Giriş ve çıkış biçimleri geçerlidir.
Giriş dizisi asla boş olmayacak.
Pek çok binayı tam olarak görmek mümkün değilse, cevap olamayacak, ancak hata olmayacak her şeyi çıktılayın.
Örnekler:
(Çok uzun çıkışlar için çıkış uzunluğu gösterilir, ancak çıktınızın tüm olası permütasyonlar olması gerekir)
input:[1,2,3,4,5],2
output: 50
input:[5,5,5,5,5,5,5,5],2
output: []
input:[1,2,2],2
output:[(1,2,2)]
Seeing from the left, exactly 2 buildings are visible.
input:[1,7,4],2
output:[(4, 7, 1), (1, 7, 4), (4, 1, 7)]
input:[1,2,3,4,5,6,7,8,9],4
output:67284
input:[34,55,11,22],1
output:[(55, 34, 11, 22), (55, 22, 34, 11), (55, 34, 22, 11), (55, 11, 34, 22), (55, 22, 11, 34), (55, 11, 22, 34)]
input:[3,4,1,2,3],2
output:31
Bu kod golf, bu yüzden en kısa kod kazanır
İsteğe bağlı: Mümkünse, benzer bir şey ekleyebilirsiniz if length is greater than 20: print length else print answer
. Altbilgide, kodda değil.
[1,2,3,4,5],5 -> [(1,2,3,4,5)]
. Mevcut test senaryolarının hiçbiri, cevapların tüm binaları göstermeyi destekleyebileceğini garanti etmemektedir (bununla ilgili herhangi bir sorun olup olmadığını bilmiyorum).