gpt4 book ai didi

python - 未为字典定义的键

转载 作者:行者123 更新时间:2023-12-04 08:32:35 25 4
gpt4 key购买 nike

我正在尝试解决 Maximum Length Of Pair Chain LeetCode 上的问题。
我的解决方案坚持使用 Memoization 部分。
在这里,我尝试存储一个二维元组,它是点的组合,作为字典的键。
一切正常,只是我无法访问字典的键。
即使是字典内容也打印得很好。
任何帮助将不胜感激。

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))

最佳答案

看起来不错,到目前为止!

  • 为了解决这个问题,我们将排序,检查间隔的末尾,并计数:
  • class Solution:
    def findLongestChain(self, pairs):
    cur_end = float('-inf')
    longest = 0
    for pair in sorted(pairs, key=lambda x: x[1]):
    if cur_end < pair[0]:
    cur_end = pair[1]
    longest += 1
    return longest
  • O(N Log N)排序的时间复杂度。
  • 关于python - 未为字典定义的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64952421/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com