leetcode 1577. 数的平方等于两数乘积的方法数

    科技2022-07-20  95

    //注意数据范围,两个数相乘时会爆int,所以使用long long class Solution { public: int work(vector<int>& a, vector<int>& b){ int res = 0; unordered_map<long long, int> hash; for(int i = 0; i < a.size(); i ++) hash[(long long)a[i] * a[i]] ++; for(int i = 0; i < b.size(); i ++) for(int j = i + 1; j < b.size(); j ++) res += hash[(long long)b[i] * b[j]]; return res; } int numTriplets(vector<int>& nums1, vector<int>& nums2) { return work(nums1, nums2) + work(nums2, nums1); } };
    Processed: 0.010, SQL: 8