Skip to content

Instantly share code, notes, and snippets.

@rohanjai777
Created March 24, 2021 13:36
Show Gist options
  • Save rohanjai777/8ee5c4a3e21e40978cb595be22078ed7 to your computer and use it in GitHub Desktop.
Save rohanjai777/8ee5c4a3e21e40978cb595be22078ed7 to your computer and use it in GitHub Desktop.
public class Solution {
public ArrayList<ArrayList<Integer>> threeSum(ArrayList<Integer> A) {
Collections.sort(A);
HashSet<ArrayList<Integer>> hs = new LinkedHashSet<>();
int n = A.size();
for(int i=0;i<n-2;i++){
int v = A.get(i);
int j = i+1;
int k = n-1;
while(j<k){
long v1 = A.get(j);
long v2 = A.get(k);
long sum = v1+v2+v;
if(sum == 0){
ArrayList<Integer> l = new ArrayList<>();
l.add(A.get(i));
l.add((int)v1);
l.add((int)v2);
hs.add(l);
j++;
k--;
}else if(sum<0){
j++;
}else{
k--;
}
}
}
return new ArrayList<ArrayList<Integer>>(hs);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment