题解 | #数组中的逆序对#

数组中的逆序对

https://www.nowcoder.com/practice/96bd6684e04a44eb80e6a68efc0ec6c5

二分法
import bisect


class Solution:
    def InversePairs(self, data: List[int]) -> int:
        if not data: return 0
        
        count = 0
        a = [data[0]]

        for i in range(1, len(data)):
            if data[i] < a[-1]:
                p = bisect.bisect(a, data[i])
                count += len(a) - p
                a[p:p] = [data[i]]      # 切片操作更快
            else:
                a.append(data[i])
        
        return count % 1000000007


全部评论

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务