Skip to content

Commit f8c686c

Browse files
committed
解决数组问题的常用思路1
1 parent bc66e2c commit f8c686c

File tree

6 files changed

+27
-1
lines changed

6 files changed

+27
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@
2424
- 先用暴力的方法解题得到答案
2525
- 确定一些边界条件
2626
- 有序数组可以考虑二分查找
27-
- 双指针解法(对撞指针)
27+
- 双指针解法(对撞指针, 快慢指针
2828
- 滑动窗口解法
2929
- 回溯、分治、贪心、动态规划

数据结构/数组/026.删除排序数组中的重复项.md

Whitespace-only changes.

数据结构/数组/027.删除元素.md

Whitespace-only changes.

数据结构/数组/080.删除排序数组中的重复项 II.md

Whitespace-only changes.

数据结构/数组/283.移动零.md

Whitespace-only changes.

数据结构/数组/数组.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
数组是日常开发中使用频率非常高的一种数组结构。它是一种线性表结构,其特点是根据下标随机访问的时间复杂度是 O(1),但根据值访问、删除,插入的时间复杂度则为 O(n)。有许多的数据结构和算法都是基于数组来实现的,如:
2+
- 排序:选择排序,插入排序,归并排序,快速排序等
3+
- 二分查找
4+
- 数据结构:栈、队列、堆等
5+
6+
### 双指针
7+
8+
> 通常使用两个或多个不同位置的指针,通过不同速度、方向来实现空间复杂度度为 O(1) 的算法。常用于有序数组
9+
10+
- 283. 移动零
11+
- 27. 移除元素
12+
- 26. 删除排序数组中的重复项
13+
- 80. 删除排序数组中的重复项 II
14+
15+
16+
### 排序的延伸
17+
18+
> 除了常见的排序算法实现外,排序还有很多细节需要了解,如快速排序 pivot 如何去不会使时间复杂度退化成 O(n^2),使用多路快排来解决数组中有大量重复数据的问题
19+
20+
- 75. 颜色分类
21+
- 88. Merge Sort Array
22+
- 215. 数组中的第K个最大元素
23+
24+
### N 数之和问题
25+
26+
- 167. 两数之和 II - 输入有序数组

0 commit comments

Comments
 (0)