Saltar al contenido

La diferencia más chica

Enunciado

Escribe una función que reciba una lista de números y regrese la diferencia más chica que hay entre dos de ellos.

Con 1, 5, 3, 19, 18 y 25 la respuesta es 1, porque 18 y 19 son los dos que están más cerca.

Las reglas: la diferencia nunca es negativa, así que cuenta la distancia entre los dos, no cuál va primero. Si un número está repetido, la diferencia es 0. Con menos de dos números no hay par que comparar: en ese caso regresas 0.

Se puede comparar todos contra todos, pero hay un camino más corto:

ordena la lista y compara solo vecinos, porque los dos más cercanos siempre quedan pegados.

Ejemplos

  • Dos que quedan cerca

    [1, 5, 3, 19, 18, 25] → 1

  • Seguidos

    [4, 3, 2, 6] → 1

  • Separados

    [30, 5, 20, 9] → 4

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def diferencia_minima(numeros):
    pass

JavaScript

function diferenciaMinima(numeros) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n log n)

Ver todos los retos →