Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 如何在戈兰列出组合可能性_Go - Fatal编程技术网

Go 如何在戈兰列出组合可能性

Go 如何在戈兰列出组合可能性,go,Go,有什么想法可以使组合代码达到最佳效果: 为此: letters := []string{"a", "b", "c", "d"} 有:ab ac ad abc abd b bc bcd等 问候并感谢您正在寻找Powerset: 一种方法是: 从一个包含一个空元素的切片开始,我们称之为结果: [[] 保留上一个切片,并创建一个新切片,将数据结构的第一个元素添加到原始切片中的每个元素中 [[]这种模式是不规则的。这是完整的输出吗。a ab ac ad abc abd b bc bcd,c,cdSee

有什么想法可以使组合代码达到最佳效果:

为此:

letters := []string{"a", "b", "c", "d"}
有:ab ac ad abc abd b bc bcd等


问候并感谢

您正在寻找Powerset:

一种方法是:

从一个包含一个空元素的切片开始,我们称之为结果:

[[]

保留上一个切片,并创建一个新切片,将数据结构的第一个元素添加到原始切片中的每个元素中


[[]这种模式是不规则的。这是完整的输出吗。a ab ac ad abc abd b bc bcd,c,cdSee Knuth,TAOCP§7.2为了补充这个答案,这里有一个很好的链接,给出了如何操作切片的示例