1

我正在尝试创建一个“前缀反转游戏”,它只生成从 n=2(即:{1,2},{2,1})到 n=100 的排列,这需要按顺序进行最多数量的前缀反转在排列的开头替换一个。

例如,

  • {2, 4, 1, 3}(前两个元素颠倒)-->
  • {4, 2, 1, 3}(前四个元素反转)-->
  • {2, 1, 3, 4}(前两个元素颠倒)-->
  • {1, 2, 3, 4}(结束)。

因此,该排列的得分为“4”。

我遇到问题的部分是创建和实现我自己的算法,以便找到得分最高的排列,而不必测试每一个排列(因为它非常低效)。我想知道是否有人可以帮助创建这个算法。

我一直在研究诸如“煎饼排序”算法之类的算法,但这似乎与我想要的相反。

非常感谢您的参与!

4

0 回答 0