Count Special Quadruplets
求数组中三个数字相加等于第四个数字的组合的个数.
用map优化一维.
class Solution {
public int countQuadruplets(int[] nums) {
Map<Integer, Integer> map = new HashMap<>();
int res = 0;
for(int i = 0; i < nums.length; i++){
for(int j = i + 1; j < nums.length; j++){
for(int k = j + 1; k < nums.length; k++)
{
res += map.getOrDefault(nums[k] - nums[j] - nums[i], 0);
}
}
map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);
}
return res;
}
}