Version plus courte de Skyscrapers Challenge
Tâche
Étant donné un tableau de hauteurs de bâtiment et un entier positif k
, trouvez toutes les permutations (sans doublons) des hauteurs de telle sorte que les k
bâtiments soient exactement visibles.
Tout bâtiment cachera tous les bâtiments plus courts ou de hauteur égale derrière lui.
Tout format d'entrée et de sortie est valide.
Le tableau d'entrée ne sera jamais vide.
Dans le cas où il n'est pas possible de voir exactement autant de bâtiments, sortez tout ce qui ne peut pas être une réponse mais pas d'erreur.
Exemples:
(La longueur de sortie est indiquée pour les sorties très longues, mais votre sortie doit être toutes les permutations possibles)
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
C'est le code-golf donc le code le plus court gagne
Facultatif: si possible, pouvez-vous ajouter quelque chose comme if length is greater than 20: print length else print answer
. Dans le pied de page, pas dans le code.
[1,2,3,4,5],5 -> [(1,2,3,4,5)]
. Aucun des cas de test actuels ne garantit que les réponses peuvent prendre en charge l'affichage de tous les bâtiments (même si je ne sais pas si cela a réellement un problème avec cela).