import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test15CorrectSolution {
public static void main(String[] args) {
/**
* Leetcode第十五题:
* 给定一个包含 n 个整数的数组 nums,
* 判断 nums 中是否存在三个元素 a,b,c ,
* 使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。
*
* 解题思路: 定义两个指针,将给定数组nums重新排列后
* 定义start为起始指针,end为结束指针,假设i为两指针相加后的相反数
* for(int i = 0 ; i < nums.legth - 2){
* 在其指针相间的数进行遍历,其起始的值start=i+1
* if nums[start] + nums[end] == -nums[i] , List添加这组值,
* 不然 如果 3个值的和大于0时,end--使其值降低
* 其中如果nums[start]++==nums[start],则直接start++,end则是end--同理
* 3值和小于0时,start++
* 不然 start++,end-- ;直到 start指针 >= end指针后
* i++也要判断是否重复值;
* }
* [ -4,-1,-1,0,1,2] [-2,0,0,2,2,]