思路: Old—— 分成i,j,k三层循环,满足条件的全部加进List后,再处理重复问题(TimeLimitExceeded);
New—— 视i为已定,3Sum->2Sum,分别从前后遍历jk,时间复杂度缩为(n^2),过程中避免重复(Accepted)
常用方法:
1. List<List<Integer>> list = new ArrayList<List<Integer>>();
或
List<List<Integer>> list = new ArrayList();
2. ArrayList排序:Collections.sort(list);
比较元素:list.get(index1).equals(list.get(index2));
3. containsAll判断两list内容是否相同,不能用于list中有重复元素的情况。比如[-4,4,0]和[0,0,0]认为相同。
4. 数组变成List:Arrays.asList ( 1,2,3...... ),但是该List不可增删,只可遍历。