leetcode 704.二分查找

704.二分查找

class Solution(object):
    def search(self, nums, target):
        n = len(nums)
        left = 0
        right = n - 1
        while left <= right:
            mid = ((right - left) >> 1) + left
            if nums[mid] > target:
                right = mid - 1 
            elif nums[mid] < target:
                left = mid + 1
            elif nums[mid] == target:
                return mid
        return -1 #注意此处,写在while循环外面

此为二分法的第一种写法,target定义在[left,right]里
while left <= right
right = mid - 1


版权声明:本文为wjy23929812原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。