「每日LeetCode」2021年2月24日

本文最后更新于:2023年3月19日 晚上

Lt1748. 唯一元素的和

1748. 唯一元素的和

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

示例 1:

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

示例 2:

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

示例 3 :

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

提示:

  • 1 <= nums.length <= 100
  • 1 <= nums[i] <= 100

思路

第一次出现就都加入 set 中,map 记录是否已经出现过,出现过的话,删除 set 中的数。

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* @param {number[]} nums
* @return {number}
*/
var sumOfUnique = function (nums) {
const map = {};
const res = new Set();
for (const num of nums) {
if (map[num]) {
res.delete(num);
continue;
}
map[num] = true;
res.add(num);
}
return res.size ? [...res.values()].reduce((a, b) => a + b) : 0;
};