数字到字母表的映射组合
2021/10/27 6:13:04
本文主要是介绍数字到字母表的映射组合,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
假设我们有一个数字到字母表的映射:
1-> ['a', 'b', 'c]
2-> ['d’, 'e’]
3- ['f', 'g', "h]
实现一个函数,对于给定的一串数字,例如"1". "233",返回一个包含所有可能的组合的字符串列表
package main import ( "fmt" ) func main() { ret := letterConbination("3122") fmt.Println(ret) } var numMap = map[string][]string{ "1": {"a", "b", "c"}, "2": {"d", "e"}, "3": {"f", "g", "h"}, } func letterConbination(nums string) (ret []string) { c := string(nums[0]) letterMap := numMap[c] retconb := make([]string, 0) if len(nums) > 1 { retconb = letterConbination(string(nums[1:])) } for _, letter := range letterMap { if len(nums) > 1 { for _, conb := range retconb { a := letter + conb ret = append(ret, a) } } else { ret = append(ret, letter) } } return }
对于固定长度且长度较小的可以用多个for生成组成,对于本题这种不固定长度的要用递归来生成
这篇关于数字到字母表的映射组合的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南