我的任务是编写一些代码,找到将给定起始堆栈带到给定目标堆栈的最短移动序列。我得到了一个原始的书籍列表,描述了堆栈是如何开始的,还有一个书籍的目标列表,显示了我需要它们的目标顺序。问题在于标准排序算法不起作用,因为书籍是基于一个人的偏好,而不是任何特定的逻辑。
问题要你使用的系统如下:从书架的任何地方拉出一本书,一次一本书,然后把它放在书架的顶部。所以如果你有书 X、Y 和 Z,你可以选择取出 Y,按 Y、X、Z 的顺序排列。
最初的:
'1984 - George Orwell'
'Moby Dick - Herman Melville'
'To Kill A Mockingbird - Harper Lee'
'Atlas Shrugged - Ayn Rand'
'The Black Cat - Edgar Allen Poe'
目标:
'Atlas Shrugged - Ayn Rand'
'To Kill A Mockingbird - Harper Lee'
'1984 - George Orwell'
'Moby Dick - Herman Melville'
'The Black Cat - Edgar Allen Poe'
这是家庭作业。但是,我并不是在寻找人为我做这件事,因为这会破坏任务的目的。我只是在寻找一些开始的想法或技巧,因为我不知道从哪里开始。
注意:我打算将此标记为作业,但标记明确表示不要,所以我没有。如果这是错误的,请纠正我。