Sobes.tech
Middle+
39

# Опис задатка # Дата је низ целих бројева у растућем редоследу. # Потребно је имплементирати функцију која извршава бинарну претрагу елемента у овом низу. # Функција треба: # 1. Да прихвати два аргумента: # - сортирани списак бројева, # - циљну вредност за претрагу. # 2. Да врати индекс пронађеног елемента, ако је елемент присутан. # 3. Да врати -1 ако елемент није у списку. # Захтеви # - Решење мора бити итеративно. # - Важно је сачувати сложеност O(log n). # - Код треба да буде написан у Python 3 и да одговара основним принципима чистог кода.

Компаније где су питане
devar

Одговор од АИ

sobes.tech АИ

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