NO.17电话号码的字母组合
#dfs(深度优先遍历) #将数字转为字典格式 #定义dfs函数(本质上回溯问题),遍历dic[digit]返回值为dfs()函数,达到遍历的目的 #ps:由于存在空字符串的情况,必须设置加入条件!='' def letterCombinations(self, digits: str) -> List[str]: dic = {'2':['a','b','c'], '3':['d','e','f'], '4':['g','h','i'], '5':['j','k','l'], '6':['m','n','o'], '7':['p','q','r','s'], '8':['t','u','v'], '9':['w','x','y','z']} res = [] def dfs(digits,temp): if len(digits)==0: if temp !='': res.append(temp) return digit = digits[0] for ch in dic[digit]: dfs(digits[1:],temp+ch) dfs(digits,'') return res
#笛卡尔积 #python人狂喜嗨还害 #本质上为 class Solution: def letterCombinations(self, digits: str) -> List[str]: conversion={'2':'abc','3':'def','4':'ghi','5':'jkl','6':'mno','7':'pqrs','8':'tuv','9':'wxyz'} if len(digits)==0: return [] product=[''] for k in digits: product=[i+j for i in product for j in conversion[k]] # for i for j 然后返回列表i与j的所有组合 return product
# 探究i+j for i in a for j in b a = ['a','b','c'] b = ['d','e'] res = [i+j for i in a for j in b] res
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)