#include <unordered_map>
#include <unordered_set>
#include<iostream>
#include<vector>
using namespace std;
int countQuadruplets(vector<int>& nums) {
int n = nums.size();
unordered_map<int ,int>cnt;
int ans = 0;
for(int b = n-3;b >= 1;b--){
int c = b+1;
for(int d = c+1;d < n;d++){
cnt[nums[d] - nums[c]]++;
}
for(int a = 0;a < b;a++){
//相等取出
ans += cnt[nums[a] + nums[b]];
}
}
return ans;
}
int main(){
vector<int> test1 = {3,3,6,4,5};
vector<int> test2 = {1,2,3,6};
cout << countQuadruplets(test1) << endl;
cout << countQuadruplets(test2) << endl;
return 0;
}
leetcode 统计四元组
最新推荐文章于 2023-04-02 16:24:47 发布