件名:https : //leetcode-cn.com/problems/4sum/
回答:ダブルポインタ:
public List <List <Integer >> fourSum(int [] nums、int target){
Arrays.sort(nums);
int n = nums.length;
List <List <Integer >> result = new ArrayList <>();
for(int i = 0; i <n-3; i ++){
if(i> 0 && nums [i] == nums [i-1]){
継続する;
}
for(int j = i + 1; j <n-2; j ++){
if(j> i + 1 && nums [j] == nums [j-1]){
継続する;
}
for(int m = j + 1; m <n-1; m ++){
if(m> j + 1 && nums [m] == nums [m-1]){
継続する;
}
int right = n-1;
int値= target-nums [i] -nums [j] -nums [m];
while(m <right && nums [right]> value){
正しい - ;
}
if(m == right)break;
if(nums [right] == value){
List <Integer> list = new ArrayList <>();
list.add(nums [i]);
list.add(nums [j]);
list.add(nums [m]);
list.add(nums [right]);
result.add(list);
}
}
}
}
結果を返す;
}