-
Notifications
You must be signed in to change notification settings - Fork 0
/
18. 4Sum
26 lines (25 loc) · 848 Bytes
/
18. 4Sum
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Solution {
public List<List<Integer>> fourSum(int[] nums, int target) {
List<List<Integer>>ll=new ArrayList<>();
int n=nums.length;
Arrays.sort(nums);
for(int i=0;i<n-3;i++){
for(int j=i+1;j<n-2;j++){
int l=j+1,r=n-1;
while(l<r){
long sum=(long)nums[i]+nums[j]+nums[l]+nums[r];
if(sum==target&&!ll.contains(Arrays.asList(nums[i],nums[j],nums[l],nums[r]))){
ll.add(Arrays.asList(nums[i],nums[j],nums[l],nums[r]));
l++;
r--;
}else if(sum<target){
l++;
}else{
r--;
}
}
}
}
return ll;
}
}