电话号码的字母组合(python)

问题描述:

依旧是组合问题,不过之前是一个集合,这里是多个集合。

用一个哈希表存储数字和字母的对应关系。

mp={"0":"","1":"","2":"abc","3":"def","4":"ghi","5":"jkl","6":"mno","7":"pqrs","8":"tuv","9":"wxyz"}

复制代码
#电话号码字母组合
import sys
sys.setrecursionlimit(1000000)
def f(s):   #:"23"
    res=[]
    path=[]
    n=len(s)
    mp={"0":"","1":"","2":"abc","3":"def","4":"ghi","5":"jkl","6":"mno","7":"pqrs","8":"tuv","9":"wxyz"}
    def dfs(idx):   #遍历到s的第几个数字
        if idx==n:  #超过了数字最大索引,就收集结果
            res.append("".join(path[:]))
            return
        for i in range(len(mp[s[idx]])):
            ch=mp[s[idx]][i]
            path.append(ch)
            dfs(idx+1)
            path.pop()
    dfs(0)
    print(res)
    return
def main():
    s=input().strip()
    f(s)
if __name__=="__main__":
    main()
相关推荐
InfinteJustice2 小时前
MySQL如何实现数据库审计日志记录_开启通用日志与插件审计
jvm·数据库·python
Shorasul2 小时前
mysql如何利用并行查询提速_mysql 8.0并行扫描特性.txt
jvm·数据库·python
IDIOT___IDIOT2 小时前
Python 命令行参数 + 环境变量
java·服务器·python
m0_716430072 小时前
如何截断SQL小数位数_使用TRUNCATE函数控制精度
jvm·数据库·python
2301_782659182 小时前
mysql如何进行全量数据库备份_mysqldump工具的使用技巧
jvm·数据库·python
SiYuanFeng2 小时前
打开vscode总是提示未找到python的解决办法(打开终端却能找到)
ide·vscode·python
赖在沙发上的熊2 小时前
Python数据序列
开发语言·python
m0_377618232 小时前
golang如何使用struct嵌套_golang struct结构体嵌套使用方法.txt
jvm·数据库·python
2301_815279522 小时前
Redis如何降低快照对CPU的影响_合理分配RDB执行时机避开业务高峰期
jvm·数据库·python