摘要:九宮格鍵盤輸入給定一個(gè)數(shù)字字符串,返回?cái)?shù)字可能代表的所有可能的字母組合。數(shù)字到字母的映射就像九宮格電話按鈕一樣如下圖。思路以為例,代表,只需要將其轉(zhuǎn)換成,然后處理,為,將這三個(gè)字符分別加到的每一個(gè)元素中,得到。重復(fù)此過(guò)程即可。
九宮格鍵盤輸入 Letter Combinations of a Phone Number
給定一個(gè)數(shù)字字符串,返回?cái)?shù)字可能代表的所有可能的字母組合。
數(shù)字到字母的映射(就像九宮格電話按鈕一樣)如下圖。
Given a digit string, return all possible letter combinations that the number could represent.
A mapping of digit to letters (just like on the telephone buttons) is given below.
Note:
Although the above answer is in lexicographical order, your answer could be in any order you want.
example 1
Input:Digit string "23" Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].思路
以23為例,2代表abc,只需要將其轉(zhuǎn)換成lists = [a,b,c],然后處理3,3為def,將這三個(gè)字符分別加到s的每一個(gè)元素中,得到["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]。重復(fù)此過(guò)程即可。
上述思路可以用循環(huán)完成,同時(shí)python提供的reduce函數(shù)和生成式特性能夠精煉地表述,下面給出兩種代碼。
代碼class Solution(object): def letterCombinations(self, digits): """ :type digits: str :rtype: List[str] """ from functools import reduce #python3.x if not digits: return [] nums = "0 1 abc def ghi jkl mno pqrs tuv wxyz".split(" ") return reduce(lambda last, d: [x + y for x in last for y in nums[int(d)]], digits, [""]) # 第三個(gè)參數(shù)是initial #使用循環(huán)完成 def letterCombinations_old(self, digits): if not digits: return [] nums = "0 1 abc def ghi jkl mno pqrs tuv wxyz".split(" ") ret = [_ for _ in nums[int(digits[0])]] digits = digits[1:] while digits: ret = [x + y for x in ret for y in nums[int(digits[0])]] digits = digits[1:] return ret
本題以及其它leetcode題目代碼github地址: github地址
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38667.html
摘要:踩的大坑前言最近有個(gè)需求要將全平臺(tái)的交易密碼由原來(lái)的位復(fù)雜密碼改為位純數(shù)字交易密碼,涉及到非常多的業(yè)務(wù)場(chǎng)景,但修改起來(lái)也無(wú)非兩種設(shè)置交易密碼,使用交易密碼設(shè)置交易密碼普通長(zhǎng)條輸入框彈起數(shù)字鍵盤支持明暗文切換查看使用交易密碼顯示六個(gè)格子彈起 input ios 踩的大坑 前言:最近有個(gè)需求要將全平臺(tái)的交易密碼由原來(lái)的 6-16位 復(fù)雜密碼改為6位純數(shù)字交易密碼,涉及到非常多的業(yè)務(wù)場(chǎng)景,但...
摘要:第部分第部分第部分第部分源代碼下載每日前端實(shí)戰(zhàn)系列的全部源代碼請(qǐng)從下載代碼解讀解數(shù)獨(dú)的一項(xiàng)基本功是能迅速判斷一行一列或一個(gè)九宮格中缺少哪幾個(gè)數(shù)字,本項(xiàng)目就是一個(gè)訓(xùn)練判斷九宮格中缺少哪個(gè)數(shù)字的小游戲。 showImg(https://segmentfault.com/img/bVbkNGa?w=400&h=300); 效果預(yù)覽 按下右側(cè)的點(diǎn)擊預(yù)覽按鈕可以在當(dāng)前頁(yè)面預(yù)覽,點(diǎn)擊鏈接可以全屏預(yù)...
摘要:第部分第部分第部分第部分源代碼下載每日前端實(shí)戰(zhàn)系列的全部源代碼請(qǐng)從下載代碼解讀解數(shù)獨(dú)的一項(xiàng)基本功是能迅速判斷一行一列或一個(gè)九宮格中缺少哪幾個(gè)數(shù)字,本項(xiàng)目就是一個(gè)訓(xùn)練判斷九宮格中缺少哪個(gè)數(shù)字的小游戲。 showImg(https://segmentfault.com/img/bVbkNGa?w=400&h=300); 效果預(yù)覽 按下右側(cè)的點(diǎn)擊預(yù)覽按鈕可以在當(dāng)前頁(yè)面預(yù)覽,點(diǎn)擊鏈接可以全屏預(yù)...
閱讀 1343·2021-10-08 10:05
閱讀 4170·2021-09-22 15:54
閱讀 3131·2021-08-27 16:18
閱讀 3134·2019-08-30 15:55
閱讀 1476·2019-08-29 12:54
閱讀 2777·2019-08-26 11:42
閱讀 579·2019-08-26 11:39
閱讀 2158·2019-08-26 10:11