問題:您得到一個整數(shù)數(shù)組nums。數(shù)組中唯一的元素是在數(shù)組中只出現(xiàn)一次的元素。
返回nums的所有唯一元素的總和。
我開始的代碼試圖刪除所有非唯一的數(shù)字和添加唯一的數(shù)字到一個單獨的列表。但是,當(dāng)我打印新的列表時,它返回與原始列表完全相同的列表(在leetcode上)。有人能幫我解決這個問題嗎?謝謝!
class Solution:
def sumOfUnique(self, nums: List[int]) -> int:
lists = []
double = []
for i in nums:
if nums not in lists:
lists.append(i)
if nums in lists:
lists.remove(i)
else:
pass
print(lists)
目前的實施存在兩個問題:
if
塊意味著它們彼此獨立,因此每次添加元素時都會將其從列表中刪除。我建議改用dict
對象,因為假設(shè)元素出現(xiàn)奇數(shù)次(比如說,3次),然后添加、刪除和re-add元素。if nums not in lists
是不正確的,可能你的意思是if i not in lists
。以下是不帶類的方法的簡化版本: