学习目标:
数组
学习内容
- 二分查找
- 双指针
学习产出:
- 二分查找
左闭右开
def search(self, nums, target):
left = 0
right = len(nums)
i=1
# # 因为left == right的时候,在[left, right)是无效的空间,所以使用 <
while(left <right):
#左闭右闭则 <=
mid = (right + left) //2
if nums[mid] > target:
right = mid
# 左闭右闭则 mid+1
elif nums[mid] < target:
left = mid +1
else:
return mid
return -1
2.双指针
def removeElement(self, nums, val):
fast =0;
slow =0;
a =len(nums);
while fast <a:
#如果不等于,slow+1
#如果等于 slow就不动了
if nums[fast] !=val:
#替换slow对应值
nums[slow] = nums[fast]
slow+=1
fast+=1
return slow