Sum of Unique Elements
Problem statement
You are given an integer array nums. The unique elements of an array are the elements that appear exactly once in the array.
Return the sum of all the unique elements of nums.
Example 1:
Input: nums = [1,2,3,2]Output: 4Explanation: The unique elements are [1,3], and the sum is 4.
Example 2:
Input: nums = [1,1,1,1,1]Output: 0Explanation: There are no unique elements, and the sum is 0.
Example 3:
Input: nums = [1,2,3,4,5]Output: 15Explanation: The unique elements are [1,2,3,4,5], and the sum is 15.
Constraints:
1 <= nums.length <= 1001 <= nums[i] <= 100
My solution
/**
* @param {number[]} nums
* @return {number}
*/
var sumOfUnique = function(nums) {
const memo = new Map();
for (const num of nums) {
memo.set(num, (memo.get(num) || 0) + 1)
}
const newNums = [...memo.keys()].map((key) => memo.get(key) === 1 ? key : undefined).filter(Boolean)
return [...newNums].reduce((acc, curr) => {
acc += curr;
return acc;
}, 0)
};