Sobes.tech
Middle+
32

# Vazifa tavsifi # O'sish tartibida ketma-ketlikda joylashgan butun sonlar ketma-ketligi berilgan. # Bu ketma-ketlikda elementni qidirish uchun binar qidiruv funksiyasini amalga oshirish kerak. # Funksiya quyidagilarni qilishi kerak: # 1. Ikki argument qabul qilishi: # - tartiblangan sonlar ro'yxati, # - qidirilayotgan maqsad qiymat. # 2. Agar element mavjud bo'lsa, topilgan elementning indeksini qaytaradi. # 3. Agar element ro'yxatda bo'lmasa, -1 qaytaradi. # Talablar # - Yechim takroriy bo'lishi kerak. # - O(log n) murakkablikni saqlash muhim. # - Kod Python 3 da yozilishi va asosiy toza kod tamoyillariga mos kelishi kerak.

Qaerda so'ralgan kompaniyalar
devar

AIdan javob

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