string - 通过分隔符扩展一串切片
问题描述
我想通过分隔符“/”扩展一串切片。
例如,扩展以下切片
s := []string{"5/3","9","5/4/1","6"}
应该产生单个切片:
["5","9","5","6"] ["5","9","4","6"] ["5","9","1","6"]
["3","9","5","6"] ["3","9","4","6"] ["3","9","1","6"]
我几乎被困在这里
var c [][]string{}
s := []string{"5/3","9","5/4/1","6"}
for _, v := range s {
combos := strings.Split(v, "/")
for _, combo := range combos {
}
}
解决方案
除了运行时间,您可以通过递归来实现这一点。
func Perm(digits [][]string) (perm [][]string) {
if len(digits) == 0 || len(digits) == 1 {
return digits
}
nextDigits := Perm(digits[1:])
for _, digit := range digits[0] {
for _, next := range nextDigits {
cat := append([]string{digit}, next...)
perm = append(perm, cat)
}
}
return perm
}
推荐阅读
- r - 使用 str_to_title 更改 col 名称时出现问题
- node.js - 无法使用 node.js AWS Lambda 函数使用“ftp”包连接到 ftp 服务器
- excel - 将多个 Excel 文件中的数据复制到一个主工作簿中。但是,应使用 powershell 脚本以明智的方式添加数据
- c - C:警告:不兼容的指针类型将“int **”传递给“int *”类型的参数
- typescript - 注册一个将应用程序连接到猫鼬的函数
- python - Numpy 不交换元素
- reactjs - 未捕获的错误:无效的挂钩调用。如何修复此错误?
- reactjs - 全球安装 eslint 有什么缺点吗?
- json - 如何为 JSON 正文编写测试序列?
- r - R中的pgmm函数(plm包)问题