给定一个整数数组 nums,如果一对下标 (i, j) 满足以下条件,则称其为完美对:
i < ja = nums[i],b = nums[j],满足:min(|a - b|, |a + b|) <= min(|a|, |b|)max(|a - b|, |a + b|) >= max(|a|, |b|)返回数组中完美对的数量。
第一行包含一个整数 n,表示数组长度。
第二行包含 n 个整数 nums[0], nums[1], ..., nums[n-1]。
输出一个整数,表示完美对的数量。
4 0 1 2 3
2
4 -3 2 -1 4
4
4 1 10 100 1000
0
解释
有 2 个完美对:
| (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, 3) = 1 | 1 | max(1, 3) = 3 | 2 |
| (2, 3) | (2, 3) | min(1, 5) = 1 | 2 | max(1, 5) = 5 | 3 |
解释
有 4 个完美对:
| (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(5, 1) = 1 | 2 | max(5, 1) = 5 | 3 |
| (0, 3) | (-3, 4) | min(7, 1) = 1 | 3 | max(7, 1) = 7 | 4 |
| (1, 2) | (2, -1) | min(3, 1) = 1 | 1 | max(3, 1) = 3 | 2 |
| (1, 3) | (2, 4) | min(2, 6) = 2 | 2 | max(2, 6) = 6 | 4 |
解释
没有完美对,因此答案是 0。