簡體   English   中英

Leetcode 3Sum TypeError: tuple object 不支持項賦值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM