Number of Good Pairs

Program Description:

Number of Good Pairs

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


Solution:


class Solution {

    public int numIdenticalPairs(int[] nums) {

        int count = 0;

        for(int i = 0; i< nums.length-1; i++){

            for(int j=i+1; j<nums.length; j++){

                if(i<j && nums[i]==nums[j]){

                    count++;

                }

            }

        }

        return count;

    }

}

OR

class Solution {

    public int numIdenticalPairs(int[] nums) {

        HashMap<Integer, Integer> map = new HashMap<>();

        for(int n : nums){

            if(map.containsKey(n)){

                map.put(n, map.get(n) + 1);

            }else{

                map.put(n, 1);

            }

        }

        int count = 0;

        for(Map.Entry<Integer, Integer> entry : map.entrySet()){

            int n = entry.getValue() - 1;

            count += n*(n+1)/2;

        }

        return count;

    }

}

Reference👉Number of Good Pairs

Comments

Popular posts from this blog

Valid Username Regular Expression

Rotate String in Right Direction in java

Java MCQ's