Sobes.tech
Middle+
47

# Popis úlohy # Zadaná je vzestupně seřazená posloupnost celých čísel. # Je třeba implementovat funkci, která provádí binární vyhledávání prvku v této posloupnosti. # Funkce by měla: # 1. Přijímat dva argumenty: # - seřazený seznam čísel, # - cílovou hodnotu pro hledání. # 2. Vrátit index nalezeného prvku, pokud je přítomen. # 3. Vrátit -1, pokud prvek v seznamu není. # Požadavky # - Řešení musí být iterativní. # - Je důležité zachovat složitost O(log n). # - Kód by měl být napsán v Pythonu 3 a splňovat základní principy čistého kódu.

Spoločnosti boli požiadané
devar

Odpoveď od 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