Open carloscn opened 1 year ago
pub fn count_pairs(nums: Vec<i32>, k: i32) -> i32
{
let mut ret:i32 = 0;
if nums.len() < 1 {
return ret;
}
for i in 0..nums.len() {
for j in (i + 1)..nums.len() {
if nums[i] == nums[j] &&
((i * j) % k as usize == 0) {
ret += 1;
}
}
}
return ret;
}
Description
Given a 0-indexed integer array nums of length n and an integer k, 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.
Example 1:
Input: nums = [3,1,2,2,2,1,3], k = 2 Output: 4 Explanation: There are 4 pairs that meet all the requirements:
Example 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