NO33. 搜索旋转排序数组 NO34. 在排序数组中查找元素的第一个和最后一个位置 NO35. 搜索插入位置
#很简单的一道双指针题目,就不做详细解释了 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作弊法