唯一元素的和

给你一个整数数组 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)
链接:https://leetcode.cn/problems/sum-of-unique-elements
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

频率计算(遍历两次)

class Solution {
    public int sumOfUnique(int[] nums) {
        //直接使用频率大法,数字最大100而已
        int[] number = new int[101];
        for(int num : nums){
            number[num]++;
        }
        int sum = 0;
        for(int i=0;i< number.length;i++){
            if(number[i]==1)sum+=i;
        }
        return sum;
    }
}

频率一次遍历

class Solution {
    public int sumOfUnique(int[] nums) {
        //直接使用频率大法,数字最大100而已
        int[] number = new int[101];
        int sum = 0;
        //第一次遇到加入到sum中,第二次就减去,之后重复不计入sum中
        for(int num : nums){
            if(number[num]==0){
                number[num]++;
                sum+=num;
            }else if(number[num]<2){
                sum-=num;
                number[num]++;
            }
        }
        return sum;
    }
}
posted @ 2023-07-27 20:01  网抑云黑胶SVIP用户  阅读(10)  评论(0编辑  收藏  举报