数组知识点
数组中的元素在存储空间中的位置是连续的。
进阶:一个24的数组,不是连续的8个位置,而是连续的两条14存储空间
解题知识点
二分法
判断条件为
while left < right:(左闭右开)
或
while left <= right:(左闭右闭)
时间复杂度:O(logn)
题目:
704
35.搜索插入位置(opens new window)
34.在排序数组中查找元素的第一个和最后一个位置(opens new window)
69.x 的平方根
367.有效的完全平方数
双指针法
**双指针法(快慢指针法)😗*通过一个快指针和慢指针在一个for循环下完成两个for循环的工作
- 暴力解法时间复杂度:O(n^2)
- 双指针时间复杂度:O(n)
题目:
27.移除元素
26.删除排序数组中的重复项
283.移动零
844.比较含退格的字符串
977.有序数组的平方
滑动窗口
滑动窗口: 就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果
相关题目:
209. 长度最小的子数组
904.水果成篮(opens new window)
76.最小覆盖子串(opens new window)
模拟行为
题目:59.螺旋矩阵II
good solution: 写出来从左到右,从上到下,从右到左,从下到上,并循环
Best solution: 每次画边后,将方向向量(dx, dy)旋转90°后得到(dy, -dx)