1512. 好数对的数目

image.png

题解

  1. class Solution {
  2. public int numIdenticalPairs(int[] nums) {
  3. // 缓存 key 出现了多少次,根据出现次数计算组合数量
  4. HashMap<Integer, Integer> map = new HashMap<>();
  5. // 遍历数组,nums[i] 将出现次数放入 map 中
  6. for (int i = 0; i < nums.length; i++) {
  7. map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);
  8. }
  9. int res = 0;
  10. // 累加每个 key 的组合数量
  11. for (Integer key : map.keySet()) {
  12. int temp = map.get(key);
  13. res += (temp * (temp - 1)) / 2;
  14. }
  15. return res;
  16. }
  17. }