La diferencia más chica
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- listas
- ordenar
- ciclos
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):
passJavaScript
function diferenciaMinima(numeros) {
}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.