Sobes.tech
Middle+
54

# Description du problème # Une séquence d'entiers triés par ordre croissant est donnée. # Il est nécessaire d'implémenter une fonction qui effectue une recherche binaire d'un élément dans cette séquence. # La fonction doit : # 1. Prendre deux arguments : # - une liste triée de nombres, # - une valeur cible à rechercher. # 2. Retourner l'indice de l'élément trouvé, si l'élément est présent. # 3. Retourner -1 si l'élément n'est pas dans la liste. # Exigences # - La solution doit être itérative. # - Il est important de respecter la complexité O(log n). # - Le code doit être écrit en Python 3 et respecter les principes fondamentaux de la propreté du code.

Entreprises à qui on a demandé
devar

Réponse de l'IA

sobes.tech IA

python from typing import List

def binary_search(arr: List[int], target: int) -> int: left, right = 0, len(arr) - 1 while left <= right: mid = left + (right - left) // 2 if arr[mid] == target: return mid elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return -1

Пример использования:

arr = [1, 3, 5, 7, 9]

print(binary_search(arr, 5)) # Выведет 2

print(binary_search(arr, 6)) # Выведет -1