我正在尝试解决一个难题,但恐怕我遇到了障碍——我不知道如何解决它。我想也许这里有人偶然发现了类似的东西,如果没有,我相信那些喜欢制作算法的人会喜欢尝试找到解决方案:
我们得到一个未排序的数组。我们可以进行以下两种移动之一:从数组中取出任何元素并将其移动到数组的开头或结尾。我们还得到了数组最终应该是什么样子。我们应该用最少的步数对数组进行排序。
例子:
5 1 4 3 2 - > starting array
3 1 2 5 4 - > target array
Steps: move 5 to the end 1 4 3 2 5
move 3 to the beginning 3 1 4 2 5
move 4 to the end 3 1 2 5 4
已达到目标数组,最小步数为 3。
有谁知道如何解决这个问题?