python 鍵盤輸入數字 九宮格鍵盤輸入

2021-10-11 00:07:54 字數 1538 閱讀 4481

九宮格鍵盤輸入

letter combinations of a phone number

給定乙個數字字串,返回數字可能代表的所有可能的字母組合。

數字到字母的對映(就像九宮格**按鈕一樣)如下圖。

given a digit string, return all possible letter combinations that the number could represent.

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,只需要將其轉換成lists = [a,b,c],然後處理3,3為def,將這三個字元分別加到s的每乙個元素中,得到["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]。重複此過程即可。

上述思路可以用迴圈完成,同時python提供的reduce函式和生成式特性能夠精煉地表述,下面給出兩種**。

**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, ['']) # 第三個引數是initial

#使用迴圈完成

後台-系統設定-擴充套件變數-手機廣告位-內容正文底部

九宮格鍵盤輸入

以23為例,2代表abc,只需要將其轉換成lists a,b,c 然後處理3,3為def,將這三個字元分別加到s的每乙個元素中,得到 ad ae af bd be bf cd ce cf 重複此過程即可。上述思路可以用迴圈完成,同時python提供的reduce函式和生成式特性能夠精煉地表述,下面給...

手機九宮格鍵盤

按照手機鍵盤輸入字母的方式,計算所花費的時間 如 a,b,c都在 1 鍵上,輸入a只需要按一次,輸入c需要連續按三次。如果連續兩個字元不在同乙個按鍵上,則可直接按,如 ad需要按兩下,kz需要按6下 如果連續兩字元在同乙個按鍵上,則兩個按鍵之間需要等一段時間,如ac,在按了a 之後,需要等一會兒才能...

九宮格演算法Python

演算法口訣 一居上行正 依次斜填切莫忘 上出框時向下放,右出框時向左放 排重便在下格填,右上排重乙個樣 import numpy as np n int input 輸入是幾宮格 a np.zeros n,n if n 2 0 print unknown else num 1 i 0j n 2 a ...