704 二分查找
本题题目数组有序且无重复,用二分法要判断边界条件。
区间的定义是不变量。
循环不变量规则:在二分查找的 过程中保持不变量,就是在while寻找中每一次边界的处理都要坚持根据区间的定义来操作。
27移除元素
基本数组知识:数组是一个连续的类型相近的元素的一个集合,数值元素不能删除,只能覆盖。 新数组真正的物理内存空间大小与原来没有区别。
库函数的使用情况:刷题时若遇到某题目直接用库函数可以解决,这种情况不要用库函数。
本题思路
1暴力双层for循环
2双指针 快指针和慢指针
快指针寻找新数组的元素,慢指针指向更新新数组下标的位置。
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
fast=0
slow=0
size=len(nums)
while fast < size:
if nums[fast] != val:
nums[slow] = nums[fast]
slow += 1
fast += 1
return slow