Count Equal and Divisible Pairs in an Array

Easy
8
1
62.5% Acceptance

In this lab, you will be implementing a function that finds the number of pairs in an array that meet specific conditions. Given a 0-indexed integer array nums of length n and an integer k, your task is to return the number of pairs (i, j) where 0 <= i < j < n, such that nums[i] == nums[j] and (i * j) is divisible by k.

Function signature:

/** * @param {number[]} nums * @param {number} k * @return {number} */ export function countPairs(nums, k) { };

Example

Input: nums = [3,1,2,2,2,1,3], k = 2

Output: 4

Explanation: There are 4 pairs that meet all the requirements:

  • nums[0] == nums[6], and 0 * 6 == 0, which is divisible by 2.
  • nums[2] == nums[3], and 2 * 3 == 6, which is divisible by 2.
  • nums[2] == nums[4], and 2 * 4 == 8, which is divisible by 2.
  • nums[3] == nums[4], and 3 * 4 == 12, which is divisible by 2.

Input: nums = [1,2,3,4], k = 1

Output: 0

Explanation: Since no value in nums is repeated, there are no pairs (i,j) that meet all the requirements.

Constraints:

  • 1 <= nums.length <= 100
  • 1 <= nums[i], k <= 100

Complete the given function and make sure that it passes the given test cases.