Hi 大家好,今天要來介紹Binary Search的各種應用的介紹。希望已經對binary search有基礎的瞭解了,再繼續看下去。
以下是binary search最常見的程式碼:
def binarySearch(arr, target):
    l, r = 0, len(arr) - 1
    while l <= r:
        mid = (l + r) // 2
        if target > arr[mid]:
            l = mid + 1
        elif target < arr[mid]:
            r = mid - 1
        else:
            return mid
    return -1
可以應用在已經排序好的array上,來找出array中和target吻合的值的index。若找不到則回傳-1。
以下是一些我所知的應用類型:
三種類型中,第一型的屬於比較直觀的。其餘兩種有時候很tricky。下一篇預計三種類型的都會分享題目。之後則是會分享進階和混合型。