题目描述
我们称满足 ∣u−v∣=∣u∣−∣v∣ 的数对 (u,v) 为完美平衡对。给定一个数组,统计所有满足 i<j 的完美平衡对 (i,j) 的数量。
思路分析
这道题的核心在于判断数对 (x,y) 是否满足 ∣x−y∣=∣x∣−∣y∣。通过分析可以发现,满足条件的情况有两种:一是 y=0,此时无论 x 是什么都成立;二是 x 和 y 同符号且 ∣x∣≥∣y∣。因此,我们可以分别处理零元素和同符号元素,利用有序列表(如二分查找)高效统计符合条件的数对数目。最终通过遍历数组并维护正数和负数的有序列表,统计满足条件的数对总数。
条件分析: