#很简单的一道双指针题目,就不做详细解释了
class Solution:
def search(self, nums: List[int], target: int) -> int:
left,right = 0,len(nums)-1
if not nums:
return -1
while left<=right:
if nums[left]==target:
return left
elif nums[right]==target:
return right
else:
left+=1
right-=1
return -1
class Solution:
def searchRange(self, nums: List[int], target: int) -> List[int]:
l,r=0,len(nums)-1
while l<=r:
if nums[l]==target:
if nums[r]==target:
return[l,r]
r-=1
else:
l+=1
return [-1,-1]
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
left,right = 0,len(nums)-1
cmp = 0
if not nums:
return -1
while left<=right:
if nums[left]==target:
return left
elif nums[right]==target:
return right
else:
left+=1
right-=1
nums.append(target)
nums.sort()
return nums.index(target)#仅用后三行也可以的,Python作弊法