Uma lista de números é chamada de aumento monotônico (ou não decrescente), pois todo elemento é maior ou igual ao elemento anterior.
Por exemplo, 1, 1, 2, 4, 5, 5, 5, 8, 10, 11, 14, 14
está aumentando monotonicamente.
Dada uma lista monotonicamente crescente de números inteiros positivos que possui um número arbitrário de pontos vazios indicado por ?
, preencha os pontos vazios com números inteiros positivos, de modo que o maior número possível de números únicos possíveis esteja presente na lista, mas ele continua aumentando monotonicamente.
Pode haver várias maneiras de conseguir isso. Qualquer um é válido.
Saída da lista resultante.
Por exemplo , se a entrada for
?, 1, ?, 1, 2, ?, 4, 5, 5, 5, ?, ?, ?, ?, 8, 10, 11, ?, 14, 14, ?, ?
é garantido que, sem os espaços vazios, a lista aumentará monotonicamente
1, 1, 2, 4, 5, 5, 5, 8, 10, 11, 14, 14
e sua tarefa é atribuir números inteiros positivos a cada um
?
para maximizar o número de números inteiros distintos na lista, mantendo-os não decrescentes.Uma tarefa que não é válida é
1, 1, 1, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5, 8, 10, 11, 14, 14, 14, 14, 14
porque, embora não diminua, ele possui apenas mais um número inteiro exclusivo que a entrada, a saber
3
.Neste exemplo, é possível inserir seis números inteiros positivos exclusivos e manter a lista não decrescente.
Algumas maneiras possíveis são:1, 1, 1, 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 8, 8, 10, 11, 12, 14, 14, 15, 16 1, 1, 1, 1, 2, 3, 4, 5, 5, 5, 5, 6, 6, 7, 8, 10, 11, 13, 14, 14, 20, 200
Qualquer um desses (e muitos outros) seria uma saída válida.
Todos os lugares vazios devem ser preenchidos.
Não há limite superior para números inteiros que podem ser inseridos. Tudo bem se números inteiros muito grandes forem impressos em notação científica.
Zero não é um número inteiro positivo e nunca deve ser inserido.
No lugar de ?
que você pode usar qualquer valor consistente, que não é um número inteiro positivo, como 0
, -1
, null
, False
, ou ""
.
O código mais curto em bytes vence.
Mais exemplos
[input]
[one possible output] (a "*" means it is the only possible output)
2, 4, 10
2, 4, 10 *
1, ?, 3
1, 2, 3 *
1, ?, 4
1, 2, 4
{empty list}
{empty list} *
8
8 *
?
42
?, ?, ?
271, 828, 1729
?, 1
1, 1 *
?, 2
1, 2 *
?, 3
1, 3
45, ?
45, 314159265359
1, ?, ?, ?, 1
1, 1, 1, 1, 1 *
3, ?, ?, ?, ?, 30
3, 7, 10, 23, 29, 30
1, ?, 2, ?, 3, ?, 4
1, 1, 2, 3, 3, 3, 4
1, ?, 3, ?, 5, ?, 7
1, 2, 3, 4, 5, 6, 7 *
1, ?, 3, ?, 5, ?, ?, 7
1, 2, 3, 4, 5, 6, 7, 7
1, ?, ?, ?, ?, 2, ?, ?, ?, ?, 4, ?, 4, ?, ?, 6
1, 1, 1, 1, 1, 2, 3, 4, 4, 4, 4, 4, 4, 5, 6, 6
98, ?, ?, ?, 102, ?, 104
98, 99, 100, 101, 102, 103, 104 *