文章目录

  • 题目
    • 题目详情
    • 示例
  • 解题思路
    • 思路
    • 代码
    • 运行结果
    • 最佳方案

题目

题目详情

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

示例

输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

解题思路

思路

  1. 一看到这种组合题首先想到的就是运用递归的方法
  2. 感觉复杂度还是挺高的递归

代码

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相关推荐

  1. Leetcode 电话号码的字母组合

    电话号码的字母组合 题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母 题目链接 class Solut ...

  2. 电话号码的字母组合Python解法

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 来源:力扣(LeetCode) ...

  3. 树:BFS,DFS解Leetcode电话号码的字母组合问题

    问题描述: 题目:Leetcode 第17题 难度:中等 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数字到字母的映射如下(与电话按键相同).注 ...

  4. leetcode:电话号码的字母组合--java,dfs

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...

  5. leetcode哈希表(python与c++)

    1.整数转罗马数字 python: class Solution:def intToRoman(self, num: int) -> str:dict_ = {1000:'M', 900:'CM ...

  6. LeetCode | 0017. Letter Combinations of a Phone Number电话号码的字母组合【Python】

    LeetCode 0017. Letter Combinations of a Phone Number电话号码的字母组合[Medium][Python][回溯][DFS][暴力] Problem L ...

  7. 算法leetcode|17. 电话号码的字母组合(rust重拳出击)

    文章目录 17. 电话号码的字母组合: 样例 1: 样例 2: 样例 3: 提示: 原题传送门: 分析 题解 rust go c++ java typescript python 17. 电话号码的字 ...

  8. 《LeetCode力扣练习》第17题 电话号码的字母组合 Java

    <LeetCode力扣练习>第17题 电话号码的字母组合 Java 一.资源 题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合.答案可以按 任意顺序 返回. 给出数 ...

  9. LeetCode 17电话号码的字母组合(搜索)18四数之和

    电话号码的字母组合 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23 ...

  10. [Leetcode][第17题][JAVA][电话号码的字母组合][回溯]

    [问题描述][中等] [解答思路] 用哈希表/数组存储每个数字对应的所有可能的字母,然后进行回溯操作. 回溯过程中维护一个字符串,表示已有的字母排列(如果未遍历完电话号码的所有数字,则已有的字母排列是 ...

最新文章

  1. 《几何与代数导引》习题1.35.4
  2. mkdir命令使用详解
  3. Spock测试框架中的注解使用
  4. 随笔--2011.12.21
  5. leetcode刷题实录:2
  6. jsonp react 获取返回值_谈谈对 React 新旧生命周期的理解
  7. [HDU 3625] Examining the Rooms(第一类斯特林数)
  8. cf黑机器多久解除_“黑电镀厂”偷排工业废水被捣毁,老板被警方刑拘
  9. 升级设置win2008r2开发环境,遇到问题小结
  10. 数据结构视频教程 -《数据结构C++ 复旦大学》
  11. macOS sierra 10.12 CORE Keygen系列注册机修复工具 CORE Patcher
  12. linux中的怎么添加组,linux中添加用户 添加组
  13. 帝豪gs车机系统wince_用销量告诉你答案 选帝豪GS准没错
  14. 视频GPU硬解码方案对比
  15. arcgis js 4 风场可视化
  16. Android FingerPrint之指纹识别
  17. 二进制(Binary)——八进制(Octal)
  18. 过程性语言有哪些C语言,c语言过程性考核试题一.doc
  19. IOS 屏幕适配理论篇
  20. VSP存储配置SNMP

热门文章

  1. 虚商烦恼多?不在怕的!你距离享受高效虚商控制台只差一步的距离
  2. 一款腾讯UED设计的提示插件(使用教程)
  3. Facebook将React的许可改为MIT
  4. [译]Godot系列教程一 - 场景与节点
  5. C#实现php的hash_hmac函数
  6. Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)
  7. 安卓系列七(广播机制)
  8. 简述DataInputStream和DataOuputStream
  9. Spring工厂常识
  10. 使用 xcworkspace 管理 iOS 工程