class Solution:
def search(self, nums: List[int], target: int) -> int:
left = 0
right = len(nums)-1
while left<=right:
middle = int(left+(right-left)/2)
if nums[middle] == target:
return middle
elif nums[middle]>target:
right = middle-1
else:
left = middle+1
return -1
704,二分查找,在carl的《代码随想录》的解说下写出来了,但是现在还没形成自己的思路,所以脱离书本还是写不出来,这个过程是比较痛苦的,希望自己能坚持下去!
27. 移除元素,很奇怪为什么没有打印出移除后的列表,Calr书里有说,不能直接移除元素,只能是用后一个元素去覆盖前一个元素,我也不是很了解,所以也记不住!
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
slow_index = 0
for i in range(len(nums)):
if nums[i] != val:
nums[slow_index] = nums[i]
slow_index+=1
return slow_index