Vous avez une liste de n entiers et vous voulez le plus petit x. Par exemple,Trouver les x plus petits entiers dans une liste de longueur n
x_smallest([1, 2, 5, 4, 3], 3)
doit renvoyer [1, 2, 3]
.
Je voterai pour des runtimes uniques dans des limites raisonnables et donnerai le chèque vert au meilleur temps d'exécution. Je vais commencer par O(n * x)
: Créer un tableau de longueur x. Itérer à travers la liste x fois, en tirant chaque fois le plus petit entier suivant.
Edits
- Vous ne savez pas comment grand ou petit, ces chiffres sont à l'avance.
- Vous ne vous souciez pas de la commande finale, vous voulez juste le plus petit x.
- Ceci est déjà géré dans certaines solutions, mais disons que même si une liste unique n'est pas garantie, vous n'obtiendrez pas non plus de liste dégénérée comme
[1, 1, 1, 1, 1]
.
... est-ce un concours? – Randolpho
Pourquoi structurez-vous la question comme une compétition? –
Je ne sais pas, semblait être une façon amusante de le faire. –