猿问

Go 编程:生成组合

这是作业


我正在做一个项目,一个非常小的(非常小的,一旦我开始工作......它基本上是项目其余部分的先决条件)部分是使用 Go 例程生成一些组合。


因此,我拥有的代码是:


package bruteforce


// GenerateCombinations is an iterator function.  Given an alphabet and a

// length, it will generate every possible combination of the letters in

// alphabet of the specified length.

//

// It is meant to be consumed by using the range clause:

//

//  for combination := range GenerateCombinations(alphabet, length) {

//      process(combination)

//  }

//

func GenerateCombinations(alphabet string, length int) <-chan string {


GenerateCombinations(alphabet, length):

if length == 0:

    yield ""

else:

    for i := range alphabet{

        for j := range GenerateCombinations(alphabet, length-1){

            i + j

        }

    }


    return nil

}

我真的不明白这一点。如您所见,那里有一些讲师提供的伪代码,但它的实现让我很头疼。


示例 I/O 将是这样的:


如果字母是 {0, 1} 并且密码长度为 2,则需要生成 {0, 1, 00, 01, 10, 11}。


我感谢所有建议,但请注意,术语“初学者”并不能开始描述我的 Go 能力。说“使用渠道”之类的话对我一点帮助都没有。解释是我的朋友......除了“使用渠道”之外,我还没有从教授那里得到很多运气。


陪伴而非守候
浏览 190回答 2
2回答
随时随地看视频慕课网APP

相关分类

Go
我要回答