diff --git a/Leecode/src/main/java/sort/ThreeSum.java b/Leecode/src/main/java/sort/ThreeSum.java index 4cd21ca..79675a9 100644 --- a/Leecode/src/main/java/sort/ThreeSum.java +++ b/Leecode/src/main/java/sort/ThreeSum.java @@ -89,6 +89,68 @@ public class ThreeSum { } + } + + + return parentList; + + } + + //更简洁一点的思路 + public static List> threeSum1(int[] nums) { + + List> parentList = new ArrayList<>(); + + if (nums.length < 3) { + return parentList; + } + //先排序 + Arrays.sort(nums); + + //后累加 + //第一个数的索引i + for (int i = 0; i < nums.length; i++) { + + if(nums[i]>0) break; + + //为了避免这一次和前一次重复 + if (i > 0 && nums[i] == nums[i - 1]) { + continue; + } + + //第三个数的索引k + int k = nums.length - 1; + + //第二个数的索引 + int j=i+1; + + + + //开始遍历 + while(j0){ + //太多了 + k--; + + }else { + parentList.add(new ArrayList(Arrays.asList(nums[i],nums[j],nums[k]))); + //为了避免和上一次重复 + while (j