问题描述

  1. 从一个整数数组中找出所有的和为0的不重复的三元组。

https://leetcode-cn.com/problems/3sum/

解题思路

  1. 首先想到的是“组合之和”这种解题思路,但是这种解题思路的复杂度太高了。
  2. 其次想到的是利用两数之和的思路,也就是利用一个哈希表,但是这样去重比较麻烦
  3. 官方给出的思路是排序+双指针,排序的目的是去重,双指针的目的是加快效率。
  4. 官方的解题思路: 三重循环(排列)– 三重循环(组合) – 三重循环(去重) – 双指针(两重循环)
  5. 什么时候可以用双指针?其中一个指针增大,另外一个指针就得减小,这样的情况可以用双指针。