Incrementar hasta el máximo

Devuelve el número total de incrementos de una unidad necesarios para elevar cada número del arreglo hasta el valor máximo del arreglo.

Ejemplos

incrementToTop([3, 4, 5]) ➞ 3
// El elemento máximo del arreglo es 5.
// Para transformar 3 en 5 se requieren 2 incrementos: 3 -> 4, 4 -> 5.
// Para transformar 4 en 5 se requiere 1 incremento: 4 -> 5.
// El total de incrementos necesarios es 3.

incrementToTop([4, 3, 4]) ➞ 1
// El elemento máximo del arreglo es 4.
// Para transformar 3 en 4 se requiere 1 incremento: 3 -> 4.
// El total de incrementos necesarios es 1.

incrementToTop([3, 3, 3]) ➞ 0

incrementToTop([3, 10, 3]) ➞ 14

Notas

  • Si el arreglo contiene únicamente dígitos iguales, devuelve 0 (consulta el ejemplo n.º 3).
  • Bonus: ¿Puedes escribir una solución que lo consiga recorriendo el arreglo una sola vez? (i.e. sin hallar antes el máximo)