Sobes.tech
Middle+
46

# Descrierea problemei # Se oferă o secvență de numere întregi sortate în ordine crescătoare. # Este necesar să implementați o funcție care să efectueze o căutare binară a unui element în această secvență. # Funcția trebuie: # 1. Să accepte doi argumente: # - o listă sortată de numere, # - o valoare țintă pentru căutare. # 2. Să returneze indexul elementului găsit, dacă elementul este prezent. # 3. Să returneze -1, dacă elementul nu este în listă. # Cerințe # - Soluția trebuie să fie iterativă. # - Este important să se păstreze complexitatea O(log n). # - Codul trebuie să fie scris în Python 3 și să respecte principiile de bază ale curățeniei codului.

Companiile au fost întrebate
devar

Răspuns de la AI

sobes.tech AI

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