题目:给定一个整数数组nums,数组中唯一元素是那些只出现恰好一次的元素,请返回nums数组中唯一元素的和; 接口:int sumOfUnique(int* pNums, int nSize); 限制:输入保证pNums不为空,且数组长度 0<nSize<=100; 示例:给定数组int nums[ ]={1,2000,2000,3},sumOfUnique(nums, 4)预期返回值为4。使用C语言实现
时间: 2024-02-16 15:05:18 浏览: 44
数组中唯一只出现一次的数字.md
好的,您的问题是如何使用C语言实现一个计算数组中唯一元素和的函数。以下是实现代码:
```c
int sumOfUnique(int* pNums, int nSize) {
int sum = 0;
int count[1001] = {0}; // 数组元素范围 1 <= nums[i] <= 1000
for (int i = 0; i < nSize; i++) {
count[pNums[i]]++;
}
for (int i = 1; i <= 1000; i++) {
if (count[i] == 1) {
sum += i;
}
}
return sum;
}
```
这个函数的实现思路是,首先使用一个计数数组 count 来记录每个数字出现的次数,然后再遍历一次数组,找出只出现一次的数字并将其加起来返回。
需要注意的是,由于输入的数组中数字的范围是 1~1000,所以在计数数组的定义中需要开到 1001。
阅读全文