1. 程式人生 > 實用技巧 >gin 框架目錄

gin 框架目錄

難度簡單

給你一個整數陣列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;
    }
};