Incrementar hasta el máximo

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

Ejemplos

incrementToTop([3, 4, 5]) ➞ 3
// El elemento máximo del arreglo es 5.
// Transformar 3 en 5 requiere 2 pasos: 3 -> 4, 4 -> 5.
// Transformar 4 en 5 requiere 1 paso: 4 -> 5.
// El número total de pasos necesarios es 3.

incrementToTop([4, 3, 4]) ➞ 1
// El elemento máximo del arreglo es 4.
// Transformar 3 en 4 requiere 1 paso: 3 -> 4.
// El número total de pasos necesarios es 1.

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

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

Notas

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