1 minute read

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