面试题51. 数组中的逆序对
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。
示例 1:
输入: [7,5,6,4]
输出: 5
限制:
0 <= 数组长度 <= 50000
方法1:时间复杂度O(n^2)
此方法 超出了 时间 限制
面试时 可以先用这个,然后再用更好的方法。
class Solution:
def reversePairs(self, nums: List[int]) -> int:
count = 0
for i in range(len(nums)-1):
for j in range(i+1,len(nums)):
if nums[i] > nums[j]:
count += 1
return count
方法2 归并排序
后续补上