Versi lebih pendek dari Skyscrapers Challenge
Tugas
Diberikan array ketinggian bangunan dan bilangan bulat positif k
, temukan semua permutasi (tanpa duplikat) dari ketinggian sedemikian rupa sehingga k
bangunan benar-benar terlihat.
Setiap bangunan akan menyembunyikan semua bangunan dengan ketinggian lebih pendek atau sama di belakangnya.
Semua format untuk input dan output adalah valid.
Array input tidak akan pernah kosong.
Dalam hal ini tidak mungkin untuk melihat persis seperti banyak bangunan, mengeluarkan apa pun yang tidak bisa menjadi jawaban tetapi tidak ada kesalahan.
Contoh:
(Panjang output ditampilkan untuk output yang sangat panjang, tetapi output Anda harus semua permutasi yang mungkin)
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
Ini adalah kode-golf sehingga kode terpendek menang
Opsional: Jika memungkinkan, dapatkah Anda menambahkan sesuatu seperti if length is greater than 20: print length else print answer
. Di bagian footer, bukan di kode.
[1,2,3,4,5],5 -> [(1,2,3,4,5)]
. Tak satu pun dari kasus uji saat ini memastikan bahwa jawaban dapat mendukung menunjukkan semua bangunan (meskipun saya tidak tahu apakah ada yang benar-benar memiliki masalah dengan itu).