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
Post a Comment