【发布时间】:2017-11-16 03:04:32
【问题描述】:
我正在尝试编写一个算法,由于我缺乏编写复杂算法的经验,我在这里有点挣扎。因此,在这种情况下,我有 n 个字符数组,每个数组包含 m 个字符。我需要在数组之间生成所有可能的字符组合。
例如,我有以下数组:
arr1 = [2, 3]
arr2 = ['y', 1]
arr3 = [1]
arr4 = [2, 'u', 4]
对于上述数组,所有可能的组合是:
2y12
2y1u
2y14
2112
211u
2114
3y12
3y1u
3y14
3112
311u
3114
可以有任意数量的 n 个数组,每个数组中可以包含任意数量的字符。所以这个算法需要扩展。我在想一个递归解决方案可能是可能的,我只是无法理解它是如何工作的。这个问题与Generating all Possible Combinations 的帖子非常相似,除了我仍然看不到如何使解决方案动态化以处理所述数组中包含任意数量元素的任意数量的数组。
我的解决方案最终将使用 C# 编写,但您可以使用任何其他语言或伪代码帮助我。
【问题讨论】:
-
@Jesin,情况与该问题非常相似。这并不能帮助我了解如何使算法动态化以处理包含任意数量元素的任意数量的数组。
-
@cheesebal35 或者 stackoverflow.com/q/13647662 那么呢?
-
检查我的答案,看看它是否有帮助。 stackoverflow.com/a/46314165/3575018