Sobes.tech
Middle+
33

# Feladatleírás # Egy növekvő sorrendben rendezett egész számokból álló sorozat van megadva. # Egy olyan függvény megvalósítása szükséges, amely bináris keresést végez ezen a sorozaton. # A függvénynek: # 1. Két argumentumot kell fogadnia: # - egy rendezett számok listáját, # - egy keresendő célszámot. # 2. Vissza kell adnia a megtalált elem indexét, ha az jelen van. # 3. -1-et kell visszaadnia, ha az elem nincs a listában. # Követelmények # - A megoldás iteratív legyen. # - Fontos, hogy megőrizze az O(log n) összetettséget. # - A kód Python 3-ban íródjon, és feleljen meg az alapvető tiszta kód elveknek.

Cégeket kérdeztek
devar

Válasz az MI-től

sobes.tech MI

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