## 1748. Sum of Unique Elements

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: 4
Explanation: The unique elements are [1,3], and the sum is 4.
```

Example 2:

```Input: nums = [1,1,1,1,1]
Output: 0
Explanation: There are no unique elements, and the sum is 0.
```

Example 3:

```Input: nums = [1,2,3,4,5]
Output: 15
Explanation: The unique elements are [1,2,3,4,5], and the sum is 15.
```

Constraints:

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

## Rust Solution

``````struct Solution;

use std::collections::HashMap;

impl Solution {
fn sum_of_unique(nums: Vec<i32>) -> i32 {
let mut count: HashMap<i32, usize> = HashMap::new();
for &x in &nums {
*count.entry(x).or_default() += 1;
}
nums.into_iter()
.map(|x| if count[&x] == 1 { x } else { 0 })
.sum()
}
}

#[test]
fn test() {
let nums = vec![1, 2, 3, 2];
let res = 4;
assert_eq!(Solution::sum_of_unique(nums), res);
let nums = vec![1, 1, 1, 1, 1];
let res = 0;
assert_eq!(Solution::sum_of_unique(nums), res);
let nums = vec![1, 2, 3, 4, 5];
let res = 15;
assert_eq!(Solution::sum_of_unique(nums), res);
}
``````

Having problems with this solution? Click here to submit an issue on github.