【发布时间】:2020-11-22 09:14:43
【问题描述】:
我正在尝试解决 LeetCode 上的 Maximum Length Of Pair Chain 问题。 我的解决方案被记忆化部分困住了。
在这里,我尝试存储一个二维元组,它是点的组合,作为字典的键。 一切正常,除了我无法访问字典的键。 连字典的内容都打印得很好。
我们将不胜感激。
from collections import defaultdict
class Solution:
def findLongestChain(self, pairs: List[List[int]]) -> int:
if len(pairs)==1:
return 1
d = defaultdict(int)
for i in range(len(pairs)):
pairs[i] =tuple(pairs[i])
pairs = tuple(pairs)
def recur_t(A,arr):
if len(arr)==0:
return len(A)
if arr in d:
print("Hello")
return d[arr]
else:
maxi =len(A)
for i in range(len(arr)):
rem_lst = arr[:i]+arr[i+1:]
if A==[]:
maxi = max (recur_t(A+[arr[i]],rem_lst),maxi)
elif arr[i][0]<=A[-1][1]:
pass
elif arr[i][0]>A[-1][1]:
maxi = max (recur_t(A+[arr[i]],rem_lst),maxi)
print (arr)
d[arr] = maxi
return maxi
return(recur_t([],pairs))
【问题讨论】:
-
你没有说这是什么语言。我添加了 Python 标签作为猜测,如果我错了,请edit。
标签: python dictionary memoization