leetcode笔记 704二分查找 python

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

设置左右两个指针及中间值,若目标值比中间值大则移动左指针,若目标值比中间值小移动右指针

class Solution:
    def search(self, nums: List[int], target: int) -> int:
        left = 0
        right = len(nums) - 1
        while (left <= right) :
            middle = (left + right) // 2
            if nums[middle] < target :
                left = middle + 1
            elif nums[middle] > target :
                right = middle - 1
            else:
                return middle
        return -1

你可能感兴趣的:(学习笔记,python)