leetcode-34-在排序数组中查找元素的第一个和最后一个位置

题目描述:

方法一:

class Solution:
    def searchRange(self, nums: List[int], target: int) -> List[int]:
        if len(nums)==0:
            return[-1,-1]
        ans = [-1]*2
        begin,end = 0,len(nums)-1
        while(begin<=end):
            mid = (begin+end)//2
            if nums[mid]==target:
                i = mid
                while(i>=0 and nums[i]==target):
                    i-=1
                j = mid
                while(j<len(nums) and nums[j]==target):
                    j+=1
                return [i+1,j-1]
            elif nums[mid]<target:
                begin = mid+1
            else:
                end = mid-1
        return ans

 

posted @ 2019-07-10 20:00  oldby  阅读(155)  评论(0编辑  收藏  举报