难度简单5收藏分享切换为英文接收动态反馈
给你一个整数数组 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 。
太简单。。不解释了
public class Solution {
public int SumOfUnique(int[] nums) {
if (nums == null || nums.Length == 0)
return 0;
int res = 0;
var dict = new Dictionary<int, int>();
foreach (var num in nums)
{
if (!dict.ContainsKey(num))
dict.Add(num, 0);
dict[num] += 1;
}
foreach (var item in dict.Where(p => p.Value == 1).Select(p => p.Key).ToList())
res += item;
return res;
}
}
学学数组的写法吧:
public static int SumOfUnique(int[] nums)
{
if (nums == null || nums.Length == 0)
return 0;
int[] arr = new int[100];
foreach (var item in nums)
{
arr[item - 1]++;
}
int sum = 0;
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] == 1)
sum += i + 1;
}
return sum;
}