Dato un array di numeri interi non negativi, il tuo compito è di mantenerne solo alcuni elementi, come descritto di seguito.
Diciamo che l'array è
[1, 3, 2, 4, 11, 5, 2, 0, 13, 10, 1]
.Prima ottenere il primo elemento della matrice,
n
. Conserva i primin
elementi e scarta il successivo (scarta iln+1
th). Il nuovo array è[1, 2, 4, 11, 5, 2, 0, 13, 10, 1]
.Quindi, prendi l'elemento che segue quello rimosso e fai esattamente la stessa cosa. Riapplicando il processo, otteniamo
[1, 2, 11, 5, 2, 0, 13, 10, 1]
Ripetete il processo fino ad arrivare al di fuori dei limiti dell'array / non ci sono elementi rimasti nell'array. Ci fermiamo perché
11
è maggiore della lunghezza dell'array.Ora dovresti produrre il risultato.
L'input / output può essere preso / fornito in qualsiasi forma standard. La matrice non sarà mai vuota e conterrà solo numeri interi non negativi. Sono vietate tutte le scappatoie standard.
Questo è code-golf quindi vince il codice più breve in byte!
Casi test
Ingresso -> Uscita [1, 2, 3, 4, 5] -> [1, 3, 4] [6, 1, 0, 5, 6] -> [6, 1, 0, 5, 6] [1, 3, 2, 4, 11, 5, 2, 0, 13, 10, 1] -> [1, 2, 11, 5, 2, 0, 13, 10, 1] [2, 2, 2, 2, 2, 2] -> [2, 2] [1, 2, 3, 1, 2, 3, 1, 2, 3] -> [1, 2] [3, 1, 2, 4, 0] -> [] *
* L'ultimo caso di test comporta 0
, quindi ho deciso di pubblicare il processo in modo che sia più chiaro:
[3, 1, 2, 4, 0] --> [3, 1, 2, 0] --> [1, 2, 0] --> [1, 0] --> [0] --> [] )
2
rimosso nel primo passaggio anziché 3
?
[1, 2, 3, 1, 2, 3, 1, 2, 3]
n
", si parte sempre dall'inizio dell'array per mantenere gli n
elementi? Non (come pensavo a prima vista) mantenere n
elementi in cui il primo elemento è quello n
che stai valutando?