Sobes.tech
Middle+
45

# Ülesande kirjeldus # Antud on kasvavas järjekorras järjestatud täisarvude jada. # Vajalik on rakendada funktsioon, mis teostab selle jada elementide binaarotsingu. # Funktsioon peab: # 1. Võtma kaks argumenti: # - järjestatud arvude nimekiri, # - sihtväärtus otsimiseks. # 2. Tagastama leitud elemendi indeksi, kui see on. # 3. Tagastama -1, kui element puudub nimekirjas. # Nõuded # - Lahendus peab olema iteratiivne. # - Oluline on säilitada keerukus O(log n). # - Kood peab olema kirjutatud Python 3-s ja vastama puhta koodi põhimõtetele.

Ettevõtted, kust küsiti
devar

Vastus AI-lt

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