分析
哈希表计数,然后把数对用公式求总数:
C++ 代码
class Solution {
public:
unordered_map<int,int> mp;
int ans;
int tupleSameProduct(vector<int>& nums) {
int n=nums.size();
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
mp[nums[i]*nums[j]]++;
}
}
for(auto& [p,k]:mp)
{
ans+=k*(k-1)/2*8;
}
return ans;
}
};