![]() |
1
1
置换可以用一个典型的 回溯 我们必须使用的算法 遍历状态空间中的所有可能性 . 回溯法是一种非常重要的算法,我的建议是,你可以看一下它(通常是递归形式),试着掌握它的基本思想,而不是用你自己的方式来解决置换问题。
基本上,为了找到一个排列,我们必须走N步(设置一个位是一步),在我们为每个步骤选择一个位之后,我们有一个排列,所以我们有一个可能的解决方案(例如,它是
您可以将回溯与DFS或二叉树上的Traveral算法进行比较。它们在许多地方非常相似。
下面是我对这个问题的解决方案,在这个问题中,结果是一个数组列表,排列是根据
} |
![]() |
2
1
如果我正确理解你,这是你想要的吗?
|