# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型 # class Solution:     def InversePairs(self , nums: List[int]) -> int:         # write code here         def list_sort(nums):             def merge(left, right):                 new_array = []                 inverse = 0                 len_left = len(left)                 len_right = len(right)                 left_index = 0                 right_index = 0                 for i in range(len(left)+len(right)):                     if len_left == left_index:                         new_array.extend(right[right_index:])                         return new_array,inverse                     elif len_right == right_index:                         new_array.extend(left[left_index:])                         return new_array,inverse                     else:                         if left[left_index]>right[right_index]:                             new_array.append(right[right_index])                             inverse+=len_left - left_index                             right_index+=1                         else:                             new_array.append(left[left_index])                             left_index+=1                 return new_array,inverse             lenth = len(nums)             if lenth<=1:                 return nums,0             left,left_inverse = list_sort(nums[:lenth//2])             right,right_inverse = list_sort(nums[lenth//2:])             new_array, inverse = merge(left, right)             return new_array, inverse+left_inverse+right_inverse         new,inverse = list_sort(nums)         return inverse%1000000007
点赞

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务