map哈希
class Solution {
public:
int sumOfUnique(vector<int>& nums) {
unordered_map<int,int> m;
int result=0;
for(auto num : nums) {
m[num]++;
}
for(auto it : m) {
if(it.second == 1) {
result += it.first;
}
}
return result;
}
};
这道题数组最大长度就100,我们可以不用map,自己写一个哈希数组
哈希数组
class Solution {
public:
int sumOfUnique(vector<int>& nums) {
int hash[101];//nums最大长度100
int i=0,sum=0;
memset(hash,0,sizeof(hash));//初始化hash全为0
for(int i=0;i<nums.size();i++)
{
++hash[nums[i]];//映射
}
for(int i=0;i<nums.size();i++)
{
if( hash[nums[i]]==1)//统计次数
sum+=nums[i];
}
return sum;//返回累加结果
}
};