可能重复:
Counting inversions in an array
这是一个phone interview question:“查找数组中的倒数”。我猜他们的意思是O(N_log N)解。我相信它不会比O(N_log N)更好,因为这是排序的复杂性。
similar question的答案可以总结如下:
a[i]
的每个元素,找到它在排序副本中的位置j
(二进制搜索),并将距离abs(i - j)/2
.的两部分相加
merge sort
:修改merge
以计算两个排序数组之间的倒数,并使用修改后的merge
运行常规merge sort
。这有意义吗?还有其他(也许更简单)的解决方案吗?电话面试是不是太难了?--
https://stackoverflow.com/questions/4552591
复制相似问题