Leetcode problem 32 - Number of Good Pairs
Given an array of integers nums, return the number of good pairs.
A pair (i, j) is called good if nums[i] == nums[j] and i < j.
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
/**
* @param {number[]} nums
* @return {number}
*/
var numIdenticalPairs = function (nums) {
let count = 0;
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
if (nums[i] === nums[j]) {
count++;
}
}
}
return count;
};
let count = 0;
: Initialize a variable count
to 0. This variable will store the number of identical pairs found in the array.
for (let i = 0; i < nums.length; i++) {
: Start a loop that iterates over the array using index i
.
for (let j = i + 1; j < nums.length; j++) {
: Start an inner loop that iterates over the array using index j
, where j
starts from i + 1
. This is done to avoid counting the same pair twice.
if (nums[i] === nums[j]) {
: Check if the elements at indexes i
and j
are equal, i.e., they form an identical pair.
count++;
: If the elements are equal, increment the count
variable to count the identical pair.
return count;
: Return the final count of identical pairs after the loops finish.
Leave a comment