0
0 Комментариев

Есть алгоритм бинарного поиска, который в зависимости от значения переменной last возвращает первое или последнее вхождение элемента в массив

def binary_search(l, key, last):
    low = 0
    high = len(l)-1
    while low <= high:
        mid = (low + high) // 2
        midVal = l[mid];
        if (midVal < key or (last and midVal == key)): low = mid + 1
        elif (midVal > key or ((not last) and midVal == key)): high = mid - 1
    return high if last else low

Как добавить проверку на существование элемента в алгоритм бинарного поиска?


Добавить комментарий