L'aggiunta capovolta della piramide è il processo di prendere un elenco di numeri e aggiungerli consecutivamente fino a raggiungere un numero.
Quando vengono indicati i numeri 2, 1, 1
, si verifica la seguente procedura:
2 1 1
3 2
5
Questo termina con il numero 5
.
IL TUO COMPITO
Dato il lato destro di una piramide capovolta (crescente), scrivere un programma o una funzione che restituirà l'elenco originale.
Nuova sfida extra : prova a farlo in meno di O (n ^ 2)
ESEMPIO
f([5, 2, 1]) => [2, 1, 1]
f([84,42,21,10,2]) => [4,7,3,8,2]
NOTA: la piramide capovolta non sarà mai vuota e sarà sempre composta SOLO di numeri interi positivi.
Try doing this in less than O(n)
sicuramente è impossibile allocare un array di dimensioni n o modificare gli elementi O (n) in esso più velocemente della complessità O (n)?