Count Equal and Divisible Pairs in an Array

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.

Adding your container request
Getting your dedicated container
Connecting to your container
Setting up your editor
Finalizing your playground
TerminalEditorBrowser