Wed. Jun 19th, 2024

# LeetCode – Hashtable – Number of Good Pairs

#### ByKnight Coderz

Jul 1, 2020

Given an array of integers `nums`.

A pair `(i,j)` is called good if `nums[i]` == `nums[j]` and `i` < `j`.

Return the number of good pairs.

Example 1:

```Input: nums = [1,2,3,1,1,3]
Output: 4
Explanation: There are 4 good pairs (0,3), (0,4), (3,4), (2,5) 0-indexed.
```

Example 2:

```Input: nums = [1,1,1,1]
Output: 6
Explanation: Each pair in the array are good.
```

Example 3:

```Input: nums = [1,2,3]
Output: 0
```

Constraints:

• `1 <= nums.length <= 100`
• `1 <= nums[i] <= 100`
``class Solution {    public int numIdenticalPairs(int[] nums) {        Map<Integer,Integer> freqMap = new HashMap<Integer,Integer>();        for(int i=0;i<nums.length;i++){            freqMap.put(nums[i],freqMap.getOrDefault(nums[i],-1)+1);        }        int result = 0;        for(int j:freqMap.values()){            if(j!=0){                int n = (j*(j+1))/2;                result = result + n;            }        }        return result;    }}``