
class Solution:
def searchRange(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
if len(nums) == 0:
return [-1,-1]
elif target < nums[0] or target > nums[-1]:
return [-1,-1]
else:
m, n = 0, len(nums) - 1
while m <= n:
mid = (m + n) // 2
if target > nums[mid]:
m = mid + 1
elif target < nums[mid]:
n = mid - 1
elif target == nums[mid]:
m = n = mid
while m-1 >= 0 and nums[m-1] == target:
m -= 1
while n+1 <= len(nums)-1 and nums[n+1] == target:
n += 1
return [m,n]
return [-1,-1]