要在O(nlogn)中对数组进行排序的第一个元素插入次数?

时间:2019-01-21 04:00:39

标签: c++ arrays sorting

  

如果只允许移动数组的第一个元素,那么对数组进行完全排序需要多少次插入?

     

在输出中,提供必要的插入次数以及每个元素向后移动的位置。

例如:

输入:

6
1 4 2 5 3 6

输出:

4
3 4 2 4

说明:

这是插入顺序:

4 2 5 1 3 6
2 5 1 3 4 6
5 1 2 3 4 6
1 2 3 4 5 6

我可以在O(n 2 )中执行此操作,因为问题可以简化为找到第一个元素位于数组后缀中的位置。
如何在O(nlogn)中解决此问题?

0 个答案:

没有答案