Sobes.tech
Middle+
36

# Görev Tanımı # Artış sırasına göre sıralanmış bir tam sayı dizisi verilmiştir. # Bu dizide bir öğe aramak için ikili arama yapan bir fonksiyon uygulamak gerekir. # Fonksiyon şunları yapmalıdır: # 1. İki argüman almalıdır: # - sıralanmış bir sayı listesi, # - arama için hedef değer. # 2. Eğer öğe listede varsa, bulunan öğenin indeksini döndürür. # 3. Öğenin listede olmadığı durumlarda -1 döndürür. # Gereksinimler # - Çözüm yinelemeli olmalıdır. # - O(log n) karmaşıklığını korumak önemlidir. # - Kod Python 3 ile yazılmalı ve temel temiz kod ilkelerine uygun olmalıdır.

Sorulan şirketler
devar

AI'dan gelen yanıt

sobes.tech yapay zeka

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