Sentiamo spesso il linguaggio "camminare attraverso l'array" per indicare "mappare la funzione sull'array seguente". Tuttavia, ne ho bisogno (ora!), Quindi voglio che eseguiate l'array.
Come corro?
Immagina che ci sia un branco selvaggio di lupi dietro di te
Correre in un array è come percorrerne uno, tranne che è possibile saltare elementi. Sì, a volte è disordinato, ma (in genere) funziona. "Quali elementi vengono ignorati?", Potresti chiedere. Bene, questo è fatto a caso. Camminiamo correndo attraverso l'array!
- Lascia che
e
sia l'elemento corrente. - Lascia
random
generare un float casuale in[0,1)
. Serandom() < 0.5
, quindi vai all'elemento successivo e poi al passaggio 1. (Puoi generare un numero con altri mezzi, purché la loro sia (idealmente) uguale possibilità di saltare e rimanere. Ad esempio, puoi usare scegliere un elemento da un set di due membri ed eseguire l'azione in base al risultato.) - Altrimenti, si esegue la funzione
f
sue
.
Obbiettivo
Dato un array / list / string come uno A
e un numero K
, eseguire l'array, aggiungendo K
a ciascun membro a cui si accede. Emette / restituisce questo array. A
conterrà solo numeri interi non negativi e K
sarà sempre e comunque numeri interi non negativi. Questo è un codice-golf , quindi vince il programma più breve in byte.
Casi di prova (esempi)
K, A => possible K'
[1, 2, 3, 4], 0 => [1, 2, 3, 4]
[1, 2, 3, 4], 1 => [1, 3, 3, 5]
[0, 0, 0, 0], 2 => [2, 0, 0, 2]
x
tale 0 ≤ x < 1
.
[0,1)
errore di battitura? Ancora 2 in arrivo ...