leetcode--电话号码和字母组合--python
文章目录
- 题目
- 题目详情
- 示例
- 解题思路
- 思路
- 代码
- 运行结果
- 最佳方案
题目
题目详情
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例
输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
解题思路
思路
- 一看到这种组合题首先想到的就是运用递归的方法
- 感觉复杂度还是挺高的递归
代码
class Solution:def letterCombinations(self,n):nums={"2":"abc","3":"def","4":"ghi","5":"jkl","6":"mno","7":"pqrs","8":"tuv","9":"wxyz"}if not n:return []result=[]length = len(n)def combination(i,temp):if i == length:result.append(temp)returnfor j in nums[n[i]]: #递归的重点combination(i+1,temp+j)combination(0,'')return resultif __name__ == "__main__":obj = Solution()obj.letterCombinations('23')
运行结果
最佳方案
32ms
class Solution:def letterCombinations(self, digits):maps = {'2': "abc",'3': "def",'4': "ghi",'5': "jkl",'6': "mno",'7': "pqrs",'8': "tuv",'9': "wxyz"}ret = []for n in digits:if not ret:for s in maps.get(n, ''):ret.append(s)else:tmp = []for r in ret:for s in maps.get(n, ''):tmp.append(r+s)ret = tmpreturn ret
leetcode--电话号码和字母组合--python相关推荐
- Leetcode 电话号码的字母组合
电话号码的字母组合 题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母 题目链接 class Solut ...
- 电话号码的字母组合Python解法
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 来源:力扣(LeetCode) ...
- 树:BFS,DFS解Leetcode电话号码的字母组合问题
问题描述: 题目:Leetcode 第17题 难度:中等 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数字到字母的映射如下(与电话按键相同).注 ...
- leetcode:电话号码的字母组合--java,dfs
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...
- leetcode哈希表(python与c++)
1.整数转罗马数字 python: class Solution:def intToRoman(self, num: int) -> str:dict_ = {1000:'M', 900:'CM ...
- LeetCode | 0017. Letter Combinations of a Phone Number电话号码的字母组合【Python】
LeetCode 0017. Letter Combinations of a Phone Number电话号码的字母组合[Medium][Python][回溯][DFS][暴力] Problem L ...
- 算法leetcode|17. 电话号码的字母组合(rust重拳出击)
文章目录 17. 电话号码的字母组合: 样例 1: 样例 2: 样例 3: 提示: 原题传送门: 分析 题解 rust go c++ java typescript python 17. 电话号码的字 ...
- 《LeetCode力扣练习》第17题 电话号码的字母组合 Java
<LeetCode力扣练习>第17题 电话号码的字母组合 Java 一.资源 题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数 ...
- LeetCode 17电话号码的字母组合(搜索)18四数之和
电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23 ...
- [Leetcode][第17题][JAVA][电话号码的字母组合][回溯]
[问题描述][中等] [解答思路] 用哈希表/数组存储每个数字对应的所有可能的字母,然后进行回溯操作. 回溯过程中维护一个字符串,表示已有的字母排列(如果未遍历完电话号码的所有数字,则已有的字母排列是 ...
最新文章
- 《几何与代数导引》习题1.35.4
- mkdir命令使用详解
- Spock测试框架中的注解使用
- 随笔--2011.12.21
- leetcode刷题实录:2
- jsonp react 获取返回值_谈谈对 React 新旧生命周期的理解
- [HDU 3625] Examining the Rooms(第一类斯特林数)
- cf黑机器多久解除_“黑电镀厂”偷排工业废水被捣毁,老板被警方刑拘
- 升级设置win2008r2开发环境,遇到问题小结
- 数据结构视频教程 -《数据结构C++ 复旦大学》
- macOS sierra 10.12 CORE Keygen系列注册机修复工具 CORE Patcher
- linux中的怎么添加组,linux中添加用户 添加组
- 帝豪gs车机系统wince_用销量告诉你答案 选帝豪GS准没错
- 视频GPU硬解码方案对比
- arcgis js 4 风场可视化
- Android FingerPrint之指纹识别
- 二进制(Binary)——八进制(Octal)
- 过程性语言有哪些C语言,c语言过程性考核试题一.doc
- IOS 屏幕适配理论篇
- VSP存储配置SNMP