题目描述
给你一个整数数组 nums
。数组中唯一元素是那些只出现 恰好一次 的元素。
请你返回 nums
中唯一元素的 和 。
样例
输入:nums = [1,2,3,2]
输出:4
解释:唯一元素为 [1,3] ,和为 4 。
输入:nums = [1,1,1,1,1]
输出:0
解释:没有唯一元素,和为 0 。
输入:nums = [1,2,3,4,5]
输出:15
解释:唯一元素为 [1,2,3,4,5] ,和为 15 。
提示:
1 <= nums.length <= 100
1 <= nums[i] <= 100
算法分析
- 将所有的元素放进哈希表中统计出现的个数,枚举哈希表中的元素,将出现
1
次的元素累加即可
时间复杂度 $O(n)$
C++ 代码
class Solution {
public:
int sumOfUnique(vector<int>& nums) {
unordered_map<int, int> hash;
for(auto x : nums) hash[x] ++;
int res = 0;
for(auto[k, v] : hash)
if(v == 1) res += k;
return res;
}
};
大佬