Count Number of Pairs With Absolute Difference K
Problem Statement - link #
Given an integer array nums
and an integer k
, return the number of pairs (i, j)
where i < j
such that |nums[i] - nums[j]| == k
.
The value of |x|
is defined as:
x
ifx >= 0
.-x
ifx < 0
.
Examples #
Example 1:
Input: nums = [1,2,2,1], k = 1
Output: 4
Explanation: The pairs with an absolute difference of 1 are:
- [1,2,2,1] (index 0,1)
- [1,2,2,1] (index 0,2)
- [1,2,2,1] (index 1,3)
- [1,2,2,1] (index 2,3)
Example 2:
Input: nums = [1,3], k = 3
Output: 0
Explanation: There are no pairs with an absolute difference of 3.
Example 3:
Input: nums = [3,2,1,5,4], k = 2
Output: 3
Explanation: The pairs with an absolute difference of 2 are:
- [3,2,1,5,4] (index 0,2)
- [3,2,1,5,4] (index 0,3)
- [3,2,1,5,4] (index 1,4)
Constraints #
1 <= nums.length <= 200
1 <= nums[i] <= 100
1 <= k <= 99
Solution #
class Solution {
public:
int countKDifference(vector<int>& nums, int k) {
int count = 0;
for(int i = 0; i < nums.size()-1 ; i++){
for(int j = i+1; j < nums.size() ; j++){
if( (nums[j] - nums[i] == k ) || (nums[i] - nums[j] == k ) ){
count++;
}
}
}
return count;
}
};