obsidian/笔记文件/2.笔记/统计特殊四元组.md
2025-03-26 00:02:56 +08:00

1.1 KiB

!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