zoukankan      html  css  js  c++  java
  • leetcode_17. *的字母组合

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
    
    给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
    
    
    
    示例:
    
    输入:"23"
    输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    
    from typing import List
    class Solution:
        def letterCombinations(self, digits: str) -> List[str]:
            if not digits:return []
            ans=[]
            d={
                2:'abc',
                3:'def',
                4:'ghi',
                5:'jkl',
                6:'mno',
                7:'pqrs',
                8:'tuv',
                9:'wxyz'
            }
            def dfs(q,digits:str):
                if not digits:
                    ans.append(q)
                else:
                    for x in d[int(digits[0])]:
                        dfs(q+x,digits[1:])
                    
            dfs('',digits)
            return ans
    
    from typing import List
    class Solution:
        def letterCombinations(self, digits: str) -> List[str]:
            if not digits:return []
            ans=['']
            d={
                2:'abc',
                3:'def',
                4:'ghi',
                5:'jkl',
                6:'mno',
                7:'pqrs',
                8:'tuv',
                9:'wxyz'
            }
            for x in digits:
                n=len(ans)
                for i in range(n):
                    t=ans.pop(0)
                    for y in d[int(x)]:
                        ans.append(t+y)
    
  • 相关阅读:
    UVa 116 单向TSP(多段图最短路)
    POJ 1328 Radar Installation(贪心)
    POJ 1260 Pearls
    POJ 1836 Alignment
    POJ 3267 The Cow Lexicon
    UVa 1620 懒惰的苏珊(逆序数)
    POJ 1018 Communication System(DP)
    UVa 1347 旅行
    UVa 437 巴比伦塔
    UVa 1025 城市里的间谍
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14115168.html
Copyright © 2011-2022 走看看