[英]Leetcode 3Sum TypeError: tuple object does not support item assignment
我收到 TypeError: tuple object does not support item assignment for line result_dict[t] = 0
。 我想檢查我的 3Sum 邏輯是否正確,但是,我無法理解這個問題。
class Solution:
def threeSum(self, nums: List[int]) -> List[List[int]]:
i = 0
result = []
my_dict = dict()
result_dict = ()
for i in range(len(nums)):
my_dict[nums[i]] = i
for j in range(len(nums) - 1):
target = nums[j]
for i in range(j+1, len(nums)):
y = -target - nums[i]
key_check = tuple(sorted((nums[j], nums[i], y)))
if key_check in result_dict:
continue
if my_dict.get(y) and my_dict[y]!=i and my_dict[y]!=j:
#result.append([nums[j], nums[i], y])
t = tuple(sorted((nums[j], nums[i], y)))
result_dict[t] = 0
for key in result_dict.keys():
result.append(list(key))
return result
#return list(set([ tuple(sorted(t)) for t in result ]))
使用空大括號{}
創建一個空字典。 空括號()
將創建一個基本上是不可變列表的元組。
result_dict = {}
將修復您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.