Leetcode链接: 704.二分查找
class Solution:
def search(self, nums: List[int], target: int) -> int:
#暴力搜索
# result = float('inf')
# for i,num in enumerate(nums):
# if num == target:
# result = i
# break
# return result if result != float('inf') else -1
#双指针实现二分法
left, right = 0, len(nums)-1
while left <= right:
mid = left + (right-left)//2
if nums[mid] < target:
left = mid+1
elif nums[mid] > target:
right = mid-1
else:
return mid
return -1
Leetcode链接:27.移除元素
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
#双指针
fast, slow, size = 0, 0, len(nums)
while fast < size:
if nums[fast] != val:
nums[slow] = nums[fast]
slow += 1
fast += 1
return slow