我想得到一个数字的所有组合而不重复。像 0.1.2、0.2.1、1.2.0、1.0.2、2.0.1、2.1.0。我试图找到一个简单的方案,但找不到。我为它画了一个图/树,这尖叫着使用递归。但如果可能的话,我想在没有递归的情况下这样做。
谁能帮我做到这一点?
原文由 Andreas Hornig 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想得到一个数字的所有组合而不重复。像 0.1.2、0.2.1、1.2.0、1.0.2、2.0.1、2.1.0。我试图找到一个简单的方案,但找不到。我为它画了一个图/树,这尖叫着使用递归。但如果可能的话,我想在没有递归的情况下这样做。
谁能帮我做到这一点?
原文由 Andreas Hornig 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
你应该使用这样一个事实,即当你想要 N 个数字的所有排列时,就有 N!可能性。因此每个数字 x 来自 1..N!编码这样的排列。下面是一个示例,它迭代地打印出 sting 的所有排列。