Dato un elenco con numero, genera gli intervalli in questo modo:
Input: [0, 5, 0]
diventerebbe [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0]
.
Questo sta mappando un intervallo attraverso l'array, quindi dobbiamo prima creare l'intervallo [0, 5]
, che è [0, 1, 2, 3, 4, 5]
. Successivamente, usiamo il 5
per creare l'intervallo [5, 0]
. Aggiunto alla nostra gamma precedente, questo ci dà:
[0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0]
Osserviamo un caso di test con due stesse cifre una accanto all'altra:
[3, 5, 5, 3], ranges:
[3, 5] = 3, 4, 5
[5, 5] = 5 (actually [5, 5] due to overlapping)
[5, 3] = 5, 4, 3
Quindi questo ci darebbe [3, 4, 5, 5, 4, 3]
.
Alcuni altri casi di test:
[1, 9] > [1, 2, 3, 4, 5, 6, 7, 8, 9]
[10, -10] > [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10]
[3, 0, 0, -3] > [3, 2, 1, 0, 0, -1, -2, -3]
[1, 3, 5, 7, 5, 3, 1, -1, -3] > [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3]
L'input avrà sempre almeno 2 numeri interi.
Vince la risposta più breve!