LeetCode第十七題 Python實現

2021-10-17 05:13:48 字數 1417 閱讀 6409

title: leetcode no.17

categories:

tags:

給定乙個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。

給出數字到字母的對映如下(與**按鍵相同)。注意 1 不對應任何字母。

示例:

輸入:"23"

輸出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

說明:

儘管上面的答案是按字典序排列的,但是你可以任意選擇答案輸出的順序。

import itertools

class solution(object):

def lettercombinations(self, digits):

""":type digits: str

:rtype: list[str]

"""if digits == "":

return

# 字典查表

numlist = ['2','3','4','5','6','7','8','9']

characterlist = [['a','b','c'],['d','e','f'],['g','h','i'],['j','k','l'],['m','n','o'],['p','q','r','s'],['t','u','v'],['w','x','y','z']]

temp = zip(numlist,characterlist)

dictlist = dict(temp)

#print(dictlist)

digitslist = list(digits)

numcharalist =

sumres = 1

# 統計輸入的數字對應的字母

for i in range(len(digitslist)):

#print(numcharalist)

# 生成結果

result =

temp = list(itertools.product(*numcharalist)) # 呼叫庫來生成列表排列組合

for i in range(len(temp)):

str1 = ''

for j in range(len(list(temp[i]))):

str1 += temp[i][j]

return result

if __name__ == '__main__':

s = solution()

print(s.lettercombinations('23'))

程式設計第十七題

據說在很久很久以前,可憐的兔子經歷了人生中最大的打擊 賽跑輸給烏龜後,心中鬱悶,發誓要報仇雪恨,於是躲進了杭州下沙某農業園臥薪嘗膽潛心修煉,終於練成了絕技,能夠毫不休息得以恆定的速度 vr m s 一直跑。兔子一直想找機會好好得教訓一下烏龜,以雪前恥。最近正值hdu舉辦50周年校慶,社會各大名流齊聚...

第十七題 括號生成

給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。例如,給出 n 3,生成結果為 回溯法 思路和演算法 只有在我們知道序列仍然保持有效時才新增 or 而不是像方法一那樣每次新增。我們可以通過跟蹤到目前為止放置的左括號和右括號的數目來做到這一點,如果我們還剩乙個...

100題 第十七題(google筆試)

一,題目 在乙個字串中找到 第乙個 只出現一次 的字元。如輸入abaccdeff,則輸出b。二,思路解析 字母a 出現兩次 字母b 符合要求 字母c 出現兩次 字母d 出現一次,但不是第乙個 字母e 出現一次,但不是第乙個 字母f 出現兩次 所以字母b符合要求。三,如何才能找到符合要求的字母 首先掃...