每日一道算法题: 1748. 唯一元素的和

做题,运行速度居然超过了百分之 99 的人!,必须发个图出来鸭!哈哈哈哈

每日一道算法题: 1748. 唯一元素的和

给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。

请你返回 nums 中唯一元素的 和 。

 

示例 1:

输入:nums = [1,2,3,2]
输出:4
解释:唯一元素为 [1,3] ,和为 4 。
示例 2:

输入:nums = [1,1,1,1,1]
输出:0
解释:没有唯一元素,和为 0 。
示例 3 :

输入:nums = [1,2,3,4,5]
输出:15
解释:唯一元素为 [1,2,3,4,5] ,和为 15 。

来源:力扣(LeetCode)

class Solution:

    def sumOfUnique(self, nums: List[int]) -> int:

        if not nums:

            return 0

        res = set()

        not_res = set()

        for i in range(len(nums)):

            if nums[i] in not_res:

                continue

            a = len(res)

            res.add(nums[i])

            b = len(res)

            if a == b:

                not_res.add(nums[i])

                res.remove(nums[i])

        return sum(res)