所有可能长度的所有可能组合
All possible combinations of all possible length
所有可能长度的所有可能组合
我有这样的阵列。它可以有任意长度的行和列,但是,每行的列长度都是固定的。
{
{a, b},
{c, d},
{e, f}
}
我需要所有可能的组合和所有可能的长度。
所有组合,例如上面的数组:
a, b, c, d, e, f
ac, ad, ae, af, bc, bd, be, bf, ce, cf, de, df
ace, acf, ade, adf, bce, bcf, bde, bdf
我该如何实现此目的?算法描述就足够了,但是,代码示例(最好是C++(将对我有很大帮助。我知道for
循环有recursion
气味,但我不能正确地做到这一点。
您可以按级别继续作为描述中的格式化输出。
- 对于第一关,您将拥有自己的角色
- 第二级你在每对相邻行之间做一个笛卡尔积(简单 2 for 循环(
- 第三级:对于第二级中的每个结果,做一个笛卡尔乘积,行跟在 2 个相邻行之后
依此类推,直到级别 N,其中 N 是行数
示例的算法是:
function rec(str, array, level)
if level = array.size()
print str
else
for i in append(array[level], "")
rec(concat(str, i), array, level + 1)
endfor
endif
你会从
rec("", {{a, b},{c, d},{e, f}}, 0)
相关文章:
- 有可能在Armadillo中复制MATLAB circshift方法吗
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 有可能使shared_ptr协变吗
- 有可能在信号处理程序中设置promise吗
- 是否有可能实现O(N)时间和O(1)空间解决方案,以实现C++中的字符串循环移位
- 是否有可能构建面向Linux和Windows的.Net Core C++ / CLI应用程序?
- 是否有可能使用debug_info获取ELF文件的源代码?
- 所有可能长度的所有可能组合
- C++,是否有可能/如何定义在.h和.cpp源文件中调用函数的类构造函数
- 有可能在C++中有类的查找表吗
- 是否有可能让 c++ dll 在后台运行 python 程序并让它填充向量图?如果是这样,如何?
- 向量的大小是否有可能为 1 但其中的元素数量为零?
- 如何计算数组整数的总可能组合
- 如何搜索向单词添加字母的所有可能组合?
- 是否有可能编写新的叮当声现代化规则?
- 是否有可能通过指向另一个未关联的子对象的指针来获取指向一个子对象的指针?
- 是否有可能通过演绎指南实现整个 std::make_tuple 功能?
- 是否有可能在没有复制的情况下传递 std::vector<int> 作为参数来获得 std::vector<std::array<int, 3>>?
- 是否有可能具有放入容器的移动操作的类型?
- 是否有可能组合对称的代码片段