通过将k个相邻数字移动到末尾来对字符串进行排序

时间:2015-11-29 19:13:16

标签: algorithm sorting

我有一个要解决的算法问题,它看起来像这样:

我们有长度为n的序列,其元素范围从0到(k-1)。

n = 10,k = 3的实例:
2 1 0 0 2 1 0 0 1 2

我必须对此字符串进行排序,因此它看起来像这样: 0 1 2 0 1 2 0 1 2 0 2 (从0到k-1排序的子集,可能无法对剩余元素进行排序)。

但是必须通过将k个相邻元素移动到末尾并加入其余元素来进行排序,例如:

0 1 2 [2 0 2] 0 1

0 1 2 0 1 [2 0 2]

在解决方案中,我可以假设,会有一定数量的冗余元素。

我已经发明了天真的算法来解决这个问题: http://pastebin.com/Q5CR99E7

...但我必须提出3种算法,我认为可能有更复杂的解决方案。 我很感激你的想法。

0 个答案:

没有答案