A adição de cabeça para baixo da pirâmide é o processo de pegar uma lista de números e adicioná-los consecutivamente até chegar a um número.
Quando dados os números 2, 1, 1
, ocorre o seguinte processo:
2 1 1
3 2
5
Isso termina no número 5
.
SUA TAREFA
Dado o lado direito de uma pirâmide de cabeça para baixo (crescente), escreva um programa ou função que retorne a lista original.
Novo desafio extra : tente fazer isso em menos de O (n ^ 2)
EXEMPLO
f([5, 2, 1]) => [2, 1, 1]
f([84,42,21,10,2]) => [4,7,3,8,2]
NOTA: A pirâmide de cabeça para baixo nunca estará vazia e sempre consistirá SOMENTE em números inteiros positivos.
Try doing this in less than O(n)
certamente é impossível alocar uma matriz de tamanho n ou alterar itens de O (n) mais rapidamente que a complexidade de O (n)?