请教这道算法题的思路:一串数字,一次只能将一个任意位置的数字放到最左或最右的位置,求需要几次能将这串数字改为升序的?

题目保证这串数字中没有相同的

4 1 2 5 3 需要两次
第一次 1 2 5 3 4
第二次 1 2 3 4 5

谢谢

相关文章

9 thoughts on “请教这道算法题的思路:一串数字,一次只能将一个任意位置的数字放到最左或最右的位置,求需要几次能将这串数字改为升序的?

  1. @binux 你这个例子就通不过吧。。。最大连续子串是 1 2,塞 4 5 3 三次,就比答案的两次多了。。。

  2. 必须要最优解么?感觉好像很困难的样子。
    或者需要确认一些细节,比如数字一定连续么?

  3. @Newyorkcity #2 1 楼的意思是忽略不连续的数组找到最大连续子串,比如 1,6,2,9,3,4,8,5,7 的最大连续子串是 12345,剩下的 6,7,8,9 按顺序拿出来往头尾塞就行了

发表评论

电子邮件地址不会被公开。 必填项已用*标注