Middle+
37
# Užduoties aprašymas # Duota didėjimo tvarka surūšiuota sveikųjų skaičių seka. # Reikia įgyvendinti funkciją, kuri atliktų binarinę paiešką šioje sekoje. # Funkcija turi: # 1. Priimti du argumentus: # - surūšiuotą skaičių sąrašą, # - paieškos tikslo reikšmę. # 2. Grąžinti rasto elemento indeksą, jei jis yra. # 3. Grąžinti -1, jei elementas nėra sąraše. # Reikalavimai # - Sprendimas turi būti iteratyvus. # - Svarbu išlaikyti sudėtingumą O(log n). # - Kodas turi būti parašytas Python 3 ir atitikti švaraus kodo pagrindinius principus.
Įmonės kur klausė
devar
Atsakymas iš 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