查找

作者: 周二可 | 来源:发表于2018-04-08 11:30 被阅读2次

    二分查找

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

    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
    }
    

    相关文章

      网友评论

        本文标题:查找

        本文链接:https://www.haomeiwen.com/subject/bsechftx.html