1
21
我的 Set::CrossProduct 模块完全满足您的需要。请注意,您并没有真正寻找排列,这是一个集合中元素的顺序。您要寻找的是交叉积,它是来自不同集合的元素的组合。 我的模块为您提供了一个迭代器,所以您不需要在内存中创建它。只有在需要时才创建新的元组。
|
2
2
针对任意数量列表的简单递归解决方案:
对于任意数量的列表而言,这是一个不那么简单的非递归解决方案:
|
3
1
有关笛卡尔积的递归和更流畅的Perl示例(带有注释和文档),请参见 http://www.perlmonks.org/?node_id=7366 例子:
|
4
0
我首先想到的一个方法是使用一对循环,而不是递归。
例子: 给定a[3]、b[2]、c[3],
当然,其中一个for循环可以被替换成loop over[a b c…],一小部分可以被memoize。当然,递归更整洁,但这对于递归严重受堆栈大小限制的语言可能有用。 |
5
0
可以使用嵌套循环。
当需要任意数量的嵌套循环时,可以使用
Algorithm::Loops
的
|
Manny · 如何比较Perl中的字符串? 2 年前 |
BioRod · 我不能用Perl打印键和值 2 年前 |
user17227456 · Perl CLI代码无法追加字符串行 2 年前 |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 2 年前 |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 2 年前 |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 2 年前 |
Pranay Nanda · 使用regex解析许可证文件 6 年前 |