【发布时间】:2021-04-27 06:58:36
【问题描述】:
我似乎无法在我的代码中找到导致无限递归的错误,我的基本情况似乎很好,我认为我的索引正确。
def phoneNumberMnemonics(phoneNumber):
returnList = []
helper(phoneNumber,0,[],returnList)
return returnList
def helper(phoneNumber,idx,currentList,returnList):
if idx == len(phoneNumber):
returnList.append(currentList)
return
else:
digit = phoneNumber[idx]
letters = hashMap[digit]
for i in letters:
currentList.append(i)
helper(phoneNumber,idx+1,currentList,returnList)
hashMap = {'0':['0'],'1':['1'],'2':['a','b','c'],'3':['d','e','f'],'4':['g','h','i'],'5':['j','k','l'],'6':['m','n','o'],'7':['p','q','r','s'],'8':['t','u','v'],'9':['w','x','y','z']}
【问题讨论】:
-
什么是导致无限递归的测试用例?编辑:我找到了一个
-
phoneNumber = "1905"
-
那个对我来说运行良好。它非常快,每次我都会得到相同的响应。这真的很奇怪......
-
试试这个,phoneNumber = "9056661234"
-
@je1013 你有没有看到
maximum recursion depth错误或者你的代码运行了很长时间并且你认为它处于无限循环中?
标签: python recursion hashtable