统计特殊四元组.md 1.1 KB

![[Pasted image 20220414232124.png]]

![[Pasted image 20220414232128.png]]

![[Pasted image 20220414232131.png]]

![[Pasted image 20220414232138.png]]

class Solution {

public:

 int countQuadruplets(vector<int>& nums) {

 int n = nums.size();

 int ans = 0;

 for (int a = 0; a < n; ++a) {

 for (int b = a + 1; b < n; ++b) {

 for (int c = b + 1; c < n; ++c) {

 for (int d = c + 1; d < n; ++d) {

 if (nums[a] + nums[b] + nums[c] == nums[d]) {

 ++ans;

 }

 }

 }

 }

 }

 return ans;

 }

};

![[Pasted image 20220414232217.png]]

![[Pasted image 20220414232222.png]]

![[Pasted image 20220414232225.png]]

class Solution {

public:

 int countQuadruplets(vector<int>& nums) {

 int n = nums.size();

 int ans = 0;

 unordered_map<int, int> cnt;

 for (int c = n - 2; c >= 2; --c) {

 ++cnt[nums[c + 1]];

 for (int a = 0; a < c; ++a) {

 for (int b = a + 1; b < c; ++b) {

 if (int sum = nums[a] + nums[b] + nums[c]; cnt.count(sum)) {

 ans += cnt[sum];

 }

 }

 }

 }

 return ans;

 }

};

![[Pasted image 20220414232246.png]]

![[Pasted image 20220414232250.png]]

![[Pasted image 20220414232254.png]]

![[Pasted image 20220414232301.png]]