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

二分查找有序数组中最左边的数

程序员文章站 2024-03-15 20:42:12
...
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 如果目标值存在返回下标,否则返回 -1
# @param nums int整型一维数组 
# @param target int整型 
# @return int整型
#
class Solution:
    def search(self , nums , target ):
        # write code here
        if not nums:
            return -1
        l,r = 0, len(nums)-1
        while l < r:
            mid = (r+l)//2 #偶数的话,指针停在左半边
            if nums[mid] > target:
                r = mid - 1
            elif nums[mid] < target:
                l = mid + 1
            else:
                r = mid
        if nums[l] != target:
            return -1
        return r
相关标签: leetcode 笔试