方法 1:暴力枚举
思路
- 遍历数组,访问某个元素时,查看其后是否存在某个元素与其组成 target。
 
代码
 |  | 
复杂度
- 时间复杂度:
O(N^2) - 空间复杂度:
O(1) 
方法 2:哈希表
思路
首先一次遍历即可访问到所有的元素。
方法 1 中,第一次遍历的结果并没有产生效益。我们可以用一个哈希表将遍历的结果保存起来,每次访问下一个元素的时候去哈希表里查,而不是再次遍历数组。
代码
 |  | 
复杂度
- 时间复杂度:
O(N),一次遍历。 - 空间复杂度:
O(N),哈希表产生的开销。 
 |  | 
O(N^2)O(1)首先一次遍历即可访问到所有的元素。
方法 1 中,第一次遍历的结果并没有产生效益。我们可以用一个哈希表将遍历的结果保存起来,每次访问下一个元素的时候去哈希表里查,而不是再次遍历数组。
 |  | 
O(N),一次遍历。O(N),哈希表产生的开销。