Dada uma lista com número, produza os intervalos como este:
Entrada: [0, 5, 0]
se tornaria [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0]
.
Isso está mapeando um intervalo através da matriz, portanto, primeiro precisamos criar o intervalo [0, 5]
, o que é [0, 1, 2, 3, 4, 5]
. Depois disso, usamos o 5
para criar o intervalo [5, 0]
. Anexado no nosso intervalo anterior, isso nos dá:
[0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0]
Vamos observar um caso de teste com dois mesmos dígitos um ao lado do outro:
[3, 5, 5, 3], ranges:
[3, 5] = 3, 4, 5
[5, 5] = 5 (actually [5, 5] due to overlapping)
[5, 3] = 5, 4, 3
Então isso nos daria [3, 4, 5, 5, 4, 3]
.
Alguns outros casos de teste:
[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]
A entrada sempre terá pelo menos 2 números inteiros.
A resposta mais curta vence!