Leetcode 704.二分查找
思路:双指针
实现:没有想到从两边往中间遍历
tips:用while直接i-=1
def sortedSquares(self, nums: List[int]) -> List[int]:
left, right, i = 0, len(nums)-1, len(nums)-1
res = [0 for _ in range(len(nums))]
while i >= 0:
if nums[left]**2 >= nums[right]**2:
res[i] = nums[left] ** 2
left += 1
else:
res[i] = nums[right] ** 2
right -= 1
i -= 1
return res
Leetcode 27.移除元素
思路:直接用库函数。。。或者暴力(暴力过程中需要注意移动一组后,i下标需要前移一次)
实现:根据题目要求,不需每次把所有元素前移 → 学习双指针方法fast & slow,把需要的元素前移,抛弃等于val的
tips:循环条件只需考虑fast