关注
```go var count int func InversePairs(nums []int) int { count = 0 temp := make([]int, len(nums)) mergeSort(nums, temp, 0, len(nums)-1) return count } func insertSort(nums []int, left, right int) { for i := left + 1; i <= right; i++ { t := nums[i] j := i for j > left && t < nums[j-1] { count++ nums[j] = nums[j-1] j-- } nums[j] = t } } func mergeSort(nums, temp []int, left, right int) { if right - left + 1 < 10 { insertSort(nums, left, right) return } mid := (left + right) / 2 mergeSort(nums, temp, left, mid) mergeSort(nums, temp, mid+1, right) if nums[mid] <= nums[mid+1] { return } merge(nums, temp, left, mid, right) } func merge(nums, temp []int, left, mid, right int) { copy(temp, nums) i := left j := mid+1 for k := left; k <= right; k++ { if i > mid { nums[k] = temp[j] j++ } else if j > right { nums[k] = temp[i] i++ } else if temp[i] <= temp[j] { nums[k] = temp[i] i++ } else { nums[k] = temp[j] count += mid+1 - i count %= 1000000007 j++ } } } ```
1
相关推荐
点赞 评论 收藏
分享
12-03 22:15
山东交通学院 Java 点赞 评论 收藏
分享
11-26 10:52
广州理工学院 后端工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招落幕,你是He or Be #
1197次浏览 41人参与
# 应届生进小公司有什么影响吗 #
108438次浏览 1105人参与
# 重来一次,你会对开始求职的自己说 #
1741次浏览 38人参与
# 实习没事做是福还是祸? #
6022次浏览 91人参与
# 团建是“福利”还是是 “渡劫” #
2949次浏览 68人参与
# 一人说一个提前实习的好处 #
2047次浏览 30人参与
# 你面试体验感最差/最好的公司 #
1025次浏览 37人参与
# 你小心翼翼的闯过多大的祸? #
5635次浏览 84人参与
# 工作中听到最受打击的一句话 #
1240次浏览 18人参与
# OPPO求职进展汇总 #
755673次浏览 5390人参与
# 今年你最想重开的一场面试是? #
1000次浏览 19人参与
# 大厂VS公务员你怎么选 #
69744次浏览 643人参与
# 今年形式下双非本找得到工作吗 #
266099次浏览 1541人参与
# 公司情报交流地 #
127284次浏览 1232人参与
# 在牛客分享我的求职旅程 #
176888次浏览 2689人参与
# 实习简历求拷打 #
26604次浏览 263人参与
# 从顶到拉给所有面过的公司评分 #
144585次浏览 516人参与
# 面试时间长是好事吗? #
116616次浏览 706人参与
# 面试尴尬现场 #
209223次浏览 851人参与
# 找不到好工作选择GAP真的丢人吗 #
93805次浏览 1008人参与
