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:
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))
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
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