日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 键盘输入数字_九宫格键盘输入

發布時間:2024/7/23 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 键盘输入数字_九宫格键盘输入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

九宮格鍵盤輸入

Letter Combinations of a Phone Number

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

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

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,只需要將其轉換成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

#使用循環完成

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地址

文章來源:segmentfault,作者:馮了個杰。如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至:william.shi#ucloud.cn(郵箱中#請改為@)進行舉報,并提供相關證據,一經查實,本社區將立刻刪除涉嫌侵權內容。

后臺-系統設置-擴展變量-手機廣告位-內容正文底部

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python 键盘输入数字_九宫格键盘输入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。