Middle+
44
# Περιγραφή του προβλήματος # Δίνεται μια διαδοχή ακέραιων αριθμών ταξινομημένη σε αύξουσα σειρά. # Είναι απαραίτητο να υλοποιήσετε μια λειτουργία που πραγματοποιεί δυαδική αναζήτηση ενός στοιχείου σε αυτήν τη διαδοχή. # Η λειτουργία πρέπει: # 1. Να δέχεται δύο επιχειρήματα: # - μια ταξινομημένη λίστα αριθμών, # - μια τιμή στόχο για αναζήτηση. # 2. Να επιστρέφει το δείκτη του βρεθέντος στοιχείου, αν το στοιχείο υπάρχει. # 3. Να επιστρέφει -1, αν το στοιχείο δεν υπάρχει στη λίστα. # Απαιτήσεις # - Η λύση πρέπει να είναι επαναληπτική. # - Είναι σημαντικό να διατηρηθεί η πολυπλοκότητα O(log n). # - Ο κώδικας πρέπει να γραφεί σε Python 3 και να ακολουθεί τις βασικές αρχές καθαρού κώδικα.
Εταιρείες όπου ρωτήθηκαν
devar
Απάντηση από 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