字母组合 Golang

集合划分问题 Golang 动态规划 01背包
最长等差数列问题 Golang 暴力法web

字母组合 Golang

验证IP地址 Golangapp

package main
 
import (
    "fmt"
)
 
func main(){
    num:=""
    fmt.Scan(&num)
    chars:=map[string]string{"0":"","1":"","2":"abc","3":"def","4":"ghi","5":"jkl","6":"mno","7":"pqrs","8":"tuv","9":"wxyz"}
    var ans []string
    i:=num[0]
    for _,ch:=range chars[string(i)]{
        ans=append(ans, string(ch))
    }
    for i:=1;i< len(num);i++{
            for _,k:=range ans{
                for _,ch:=range chars[string(num[i])]{
                ans=append(ans, k+string(ch))
            }
            ans=ans[1:]
        }
    }
    //默认输出不带“,”
    fmt.Print("[")
    for i:=0;i<len(ans)-1;i++{
    fmt.Print(ans[i]+", ")
    }
    fmt.Print(ans[len(ans)-1]+"]")
}