Hai una lista di n interi e vuoi la x più piccola. Ad esempio,Trova x i numeri interi più piccoli in un elenco di lunghezza n
x_smallest([1, 2, 5, 4, 3], 3)
deve restituire [1, 2, 3]
.
Voterò su runtime unici all'interno della ragione e assegnerò il controllo verde al miglior runtime.
Inizierò con O(n * x)
: creare un array di lunghezza x. Scorrere la lista x volte, ogni volta tirando fuori il numero più piccolo successivo.
modifiche
- non avete idea di quanto grande o piccolo questi numeri sono davanti a tempo.
- Non ti interessa l'ordine finale, vuoi solo la x più piccola.
- Questo è già stato gestito in alcune soluzioni, ma diciamo che anche se non è garantito un elenco univoco, non si otterrà neanche un elenco degenerato come
[1, 1, 1, 1, 1]
.
... questo è un concorso? – Randolpho
Perché stai strutturando la domanda come una competizione? –
Non so, mi è sembrato un modo divertente per farlo. –