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