列表中唯一整數(shù)的和

問題:您得到一個(gè)整數(shù)數(shù)組nums。數(shù)組中唯一的元素是在數(shù)組中只出現(xiàn)一次的元素。

返回nums的所有唯一元素的總和。

我開始的代碼試圖刪除所有非唯一的數(shù)字和添加唯一的數(shù)字到一個(gè)單獨(dú)的列表。但是,當(dāng)我打印新的列表時(shí),它返回與原始列表完全相同的列表(在leetcode上)。有人能幫我解決這個(gè)問題嗎?謝謝!

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)
? 最佳回答:

目前的實(shí)施存在兩個(gè)問題:

  1. 使用多個(gè)if塊意味著它們彼此獨(dú)立,因此每次添加元素時(shí)都會(huì)將其從列表中刪除。我建議改用dict對(duì)象,因?yàn)榧僭O(shè)元素出現(xiàn)奇數(shù)次(比如說,3次),然后添加、刪除和re-add元素。
  2. if nums not in lists是不正確的,可能你的意思是if i not in lists

以下是不帶類的方法的簡化版本:

def sumOfUnique(nums):
    counts = {}
    for i in nums:
        if i in counts.keys():
            counts[i] += 1
        else:
            counts[i] = 1

    uniques = [k for k, v in counts.items() if v == 1]
    print(uniques)
    return sum(uniques)  # return the sum of the list elements

print(sumOfUnique([1, 2, 1, 3, 4, 1]))
主站蜘蛛池模板: 熟女大屁股白浆一区二区| 国产伦精品一区二区| 天堂国产一区二区三区| 日韩一区二区三区无码影院| 多人伦精品一区二区三区视频| 国产亚洲一区二区在线观看| 亚洲AV无码一区二区乱子仑| 国产乱码一区二区三区爽爽爽| 亚洲一区二区三区在线观看网站 | 无码精品尤物一区二区三区| 日本一区二区三区精品国产| 怡红院美国分院一区二区| 国产精品揄拍一区二区| 精品国产一区二区三区麻豆 | 午夜精品一区二区三区在线观看| 亚洲高清一区二区三区| 国产福利91精品一区二区| 亚洲香蕉久久一区二区三区四区| 无码视频一区二区三区在线观看| 精品一区二区久久| 亚欧色一区W666天堂| 亚洲av无码一区二区乱子伦as| 国语精品一区二区三区| 亚洲V无码一区二区三区四区观看| 国精品无码一区二区三区左线| 国产一区玩具在线观看| 久久免费国产精品一区二区| 日韩人妻一区二区三区蜜桃视频 | 亚洲A∨无码一区二区三区| 亚洲国产综合精品中文第一区| 人妻无码一区二区不卡无码av| 精品不卡一区二区| 在线一区二区三区| 国产精品小黄鸭一区二区三区| 国产一区二区三精品久久久无广告| 亚洲乱码一区二区三区在线观看| 日本高清成本人视频一区| 亚洲av不卡一区二区三区| 黑巨人与欧美精品一区| 无码人妻精品一区二区蜜桃百度| 国产在线aaa片一区二区99|