在排序数组中查找元素的第一个和最后一个位置
#python
class Solution:
def searchRange(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
left = 0
right = len(nums)-1
while left<=right:
mid = (left+right)//2
if target<nums[mid]: right=mid-1
elif target>nums[mid]:left=mid+1
else:
left = mid
right = mid
while(left>=0 and nums[left]==target):left-=1
while(right<=len(nums)-1 and nums[right]==target):right+=1
return [left+1,right-1]
return [-1,-1]