Welcome to Subscribe On Youtube
3649. Number of Perfect Pairs
Description
You are given an integer array nums.
A pair of indices (i, j) is called perfect if the following conditions are satisfied:
i < j- Let
a = nums[i],b = nums[j]. Then:min(\|a - b\|, \|a + b\|) <= min(\|a\|, \|b\|)max(\|a - b\|, \|a + b\|) >= max(\|a\|, \|b\|)
Return the number of distinct perfect pairs.
Note: The absolute value \|x\| refers to the non-negative value of x.
Example 1:
Input: nums = [0,1,2,3]
Output: 2
Explanation:
There are 2 perfect pairs:
(i, j) |
(a, b) |
min(\|a − b\|, \|a + b\|) |
min(\|a\|, \|b\|) |
max(\|a − b\|, \|a + b\|) |
max(\|a\|, \|b\|) |
|---|---|---|---|---|---|
| (1, 2) | (1, 2) | min(\|1 − 2\|, \|1 + 2\|) = 1 |
1 | max(\|1 − 2\|, \|1 + 2\|) = 3 |
2 |
| (2, 3) | (2, 3) | min(\|2 − 3\|, \|2 + 3\|) = 1 |
2 | max(\|2 − 3\|, \|2 + 3\|) = 5 |
3 |
Example 2:
Input: nums = [-3,2,-1,4]
Output: 4
Explanation:
There are 4 perfect pairs:
(i, j) |
(a, b) |
min(\|a − b\|, \|a + b\|) |
min(\|a\|, \|b\|) |
max(\|a − b\|, \|a + b\|) |
max(\|a\|, \|b\|) |
|---|---|---|---|---|---|
| (0, 1) | (-3, 2) | min(\|-3 - 2\|, \|-3 + 2\|) = 1 |
2 | max(\|-3 - 2\|, \|-3 + 2\|) = 5 |
3 |
| (0, 3) | (-3, 4) | min(\|-3 - 4\|, \|-3 + 4\|) = 1 |
3 | max(\|-3 - 4\|, \|-3 + 4\|) = 7 |
4 |
| (1, 2) | (2, -1) | min(\|2 - (-1)\|, \|2 + (-1)\|) = 1 |
1 | max(\|2 - (-1)\|, \|2 + (-1)\|) = 3 |
2 |
| (1, 3) | (2, 4) | min(\|2 - 4\|, \|2 + 4\|) = 2 |
2 | max(\|2 - 4\|, \|2 + 4\|) = 6 |
4 |
Example 3:
Input: nums = [1,10,100,1000]
Output: 0
Explanation:
There are no perfect pairs. Thus, the answer is 0.
Constraints:
2 <= nums.length <= 105-109 <= nums[i] <= 109