"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo se encuentra el número más cercano en una lista a un valor determinado?

¿Cómo se encuentra el número más cercano en una lista a un valor determinado?

Publicado el 2024-11-19
Navegar:642

How do you find the closest number in a list to a given value?

Encontrar el número más cercano en una lista a un valor dado

Dada una lista de números enteros y un número objetivo, la tarea es encontrar el número en la lista que está más cerca del objetivo. Este problema se puede resolver usando varios enfoques:

Usar distancia mínima

Si el orden de los elementos en la lista no está garantizado, se puede usar la función min() con el parámetro clave. Este método encuentra la distancia mínima entre cada elemento y el objetivo y devuelve el elemento con la distancia mínima:

def takeClosest(myList, myNumber):
    return min(myList, key=lambda x: abs(x - myNumber))

Uso de la búsqueda binaria (método de bisección)

Si se sabe que la lista está ordenada, se puede aplicar la búsqueda binaria para encontrar el número más cercano de manera más eficiente en tiempo O(log n):

def takeClosest(myList, myNumber):
    low = 0
    high = len(myList) - 1
    while low 
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3