欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

电话号码的字母组合

程序员文章站 2022-06-05 13:43:07
...

1 [1,2,3] 与[2,3,4] 相乘或者相加,也就是[12,13,14, 22,23,24, 32,33,3*4].

a = [ i*j for i in [1,2,3] for j in [1,2,3]]
print(a)
#[2, 3, 4, 3, 4, 5, 4, 5, 6]

2 电话号码的字母组合
给定一个仅包含数字 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution:
    def letterCombinations(self, digits: str) -> List[str]:
        if not digits: return []
        dic = {'2':'abc', '3':'def', '4':'ghi', '5':'jkl', '6':'mno', '7':'pqrs', '8':'tuv', '9':'wxyz'}
        ans = ['']
        for k in digits:
            ans = [i+j for i in ans for j in dic[k]]
            
        return ans