#左闭右开#
left = 0
right = len(nums) #注意这里不减一 右开
while left < right :#
middle = left + (right -left) //2 #
if nums[middle] < target:
left = middle +1 #
elif nums[middle]>target:
right = middle #
else:
return middle
return -1
#左闭右闭#
left, right = 0, len(nums) - 1
while left <= right:
middle = (left + right) // 2
if nums[middle] < target:
left = middle + 1
elif nums[middle] > target:
right = middle - 1
else:
return middle
return right + 1#搜索的时候
#双指针法
#快指针,慢指针
快指针找val 如果不等于val 赋值给slow
fast = 0
slow = 0
length = len(nums)
while fast < length:#
if nums[fast] != val:
nums[slow] = nums[fast]
slow+=1
fast +=1
return slow