Sobes.tech
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

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

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

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

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