欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

查找

程序员文章站 2022-07-12 09:10:30
...

二分查找

二分搜索,即在有序数组中,查找某一特定元素的搜索。它从中间的元素开始,如果中间的元素是要找的元素,则返回;若中间元素小于要找的元素,则要找的元素一定在大于中间元素的那一部分,那只需搜索那部分即可;反之搜索小于中间元素的部分即可。重复以上步骤,直到找到或确认该元素不存在为止。

func binarySearch(nums: [Int], target: Int) -> Bool {
    var left = 0, mid = 0, right = nums.count - 1
    
    while left <= right {
        mid = (right - left) / 2 + left
        let midNum = nums[mid]
        if midNum == target {
            return true
        } else if midNum < target {
            left = mid + 1
        } else {
            right = mid - 1
        }
    }
    
    return false
}

上一篇: 查找

下一篇: 查找