gin 框架目錄
阿新 • • 發佈:2020-09-21
難度簡單
給你一個整數陣列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 開始
示例 2:
輸入:nums = [1,1,1,1] 輸出:6 解釋:陣列中的每組數字都是好數對
示例 3:
輸入:nums = [1,2,3] 輸出:0
提示:
1 <= nums.length <= 100
1 <= nums[i] <= 100
class Solution { public: int numIdenticalPairs(vector<int>& nums) { if (nums.empty()) { return 0; } unordered_map<int,int> dict; for (auto val : nums) { dict[val] += 1; } int total = 0; for (auto iter : dict) { if (iter.second > 1) { if (iter.second % 2 == 0) { total += (iter.second / 2 * (iter.second - 1)); } else { total += ((iter.second - 1) / 2 * iter.second); } } } return total; } };