1512. 好数对的数目
题解
class Solution {
public int numIdenticalPairs(int[] nums) {
// 缓存 key 出现了多少次,根据出现次数计算组合数量
HashMap<Integer, Integer> map = new HashMap<>();
// 遍历数组,nums[i] 将出现次数放入 map 中
for (int i = 0; i < nums.length; i++) {
map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);
}
int res = 0;
// 累加每个 key 的组合数量
for (Integer key : map.keySet()) {
int temp = map.get(key);
res += (temp * (temp - 1)) / 2;
}
return res;
}
}