go语言,求一份生成字符串穷举算法

592530326 · · 2393 次点击
计算机最擅长做这种事情了,你想想你高中学的排列组合
#1
更多评论
深度优先搜索应该能干这事
#2
```golang func C(s string, length int) []string { var sl int = len(s) if sl < length || length <= 0 { return nil } var M []string = make([]string, 0, sl) for _, v := range s { M = append(M, string(v)) } var R []string = make([]string, sl, 1024) copy(R, M) for ; length-1 > 0; length-- { var l = len(R) for i := 0; i < l; i++ { for j := 1; j < sl; j++ { R = append(R, R[i]+M[j]) } R[i] = R[i] + M[0] } } return R } ```
#3