From 491b77773e557096a300343addb39dc37f1292c0 Mon Sep 17 00:00:00 2001 From: Bharat Sharma <73884874+bharat733@users.noreply.github.com> Date: Sun, 24 Oct 2021 02:56:42 +0530 Subject: [PATCH] Create 3sum.java --- java-program/3sum.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 java-program/3sum.java diff --git a/java-program/3sum.java b/java-program/3sum.java new file mode 100644 index 0000000..7df5103 --- /dev/null +++ b/java-program/3sum.java @@ -0,0 +1,21 @@ +class Solution { + public List> threeSum(int[] nums) { + if (nums.length < 3) return new ArrayList<>(); + Arrays.sort(nums); + Set> set = new HashSet<>(); + for (int i = 0; i < nums.length - 2; i++) { + int j = i + 1; + int k = nums.length - 1; + while (j < k) { + int sum = nums[i] + nums[j] + nums[k]; + if (sum == 0) set.add(Arrays.asList(nums[i], nums[j++], nums[k--])); + else if (sum > 0) k--; + else if (sum < 0) j++; + } + + } + + return new ArrayList<>(set); + + } +}