我正在尝试找出使用 objective-c 从 6 个对象创建 4 个对象的所有不同方法。
例如,如果我有以下对象:a、b、c、d、e、f
然后我可以像这样创建组
a, b, c, d
b, c, d, e
a, d, e, f
等等。顺序无关紧要。如果我想找出所有不同的可能性,我需要什么样的算法?起初我在考虑排列,但我不认为是这样。我认为可能有更快或更合适的东西,但我忘了它叫什么。
最佳答案
排列是正确的起点。一种蛮力方法是找到所有六个字符串排列,只抓取前四个并将它们添加到一个集合中。但是,效率极低。
可以调整基本排列算法以生成四个一组。
查看此页面:http://en.wikipedia.org/wiki/Permutation#Algorithms_to_generate_permutations
关于objective-c - 我需要什么样的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3792462/