1512.好数对的数目
题目描述:
给你一个整数数组 nums 。
如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。
返回好数对的数目。
示例1:
输入:nums = [1,2,3,1,1,3]
输出:4
解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始
利用unordered_map函数,用count判断是否存在,在进行相加,输出结果
class Solution { public: int numIdenticalPairs(vector<int>& nums) { unordered_map<int, int> q; for(int num :nums) { ++q[num]; } int res = 0; for(int s : nums) { if(q.count(s)) { --q[s]; res = res + q[s]; } } return res; } };
运行结果: