1748. 唯一元素的和

58 阅读1分钟

1748. 唯一元素的和 - 力扣(LeetCode)

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,自己写一个哈希数组

哈希数组

image.png

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;//返回累加结果
    }
};