public List> fourSum(int[] num, int target) {
ArrayList> ans = new ArrayList<>();
if(num.length<4)return ans;
Arrays.sort(num);
for(int i=0; iif(i>0&&num[i]==num[i-1])continue;
for(int j=i+1; jif(j>i+1&&num[j]==num[j-1])continue;
int low=j+1, high=num.length-1;
while(lowint sum=num[i]+num[j]+num[low]+num[high];
if(sum==target){
ans.add(Arrays.asList(num[i], num[j], num[low], num[
high]));
while(lowwhile(lowlow++;
high--;
}
else if(sumelse high--;
}
}
}
return ans;
}