题目:给定一个整数数组nums,数组中唯一元素是那些只出现恰好一次的元素,请返回nums数组中唯一元素的和; 接口:int sumOfUnique(int* pNums, int nSize); 限制:输入保证pNums不为空,且数组长度 0<nSize<=100; 示例:给定数组int nums[ ]={1,2,2,3},sumOfUnique(nums, 4)预期返回值为4。使用C语言实现
时间: 2024-02-16 17:05:08 浏览: 110
数组中唯一只出现一次的数字.md
好的,题目已经很明确了。下面是使用C语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int sumOfUnique(int* pNums, int nSize) {
int count[101] = {0};
int sum = 0;
for (int i = 0; i < nSize; i++) {
count[pNums[i]]++;
}
for (int i = 0; i < 101; i++) {
if (count[i] == 1) {
sum += i;
}
}
return sum;
}
int main() {
int nums[] = {1, 2, 2, 3};
int nSize = 4;
int result = sumOfUnique(nums, nSize);
printf("%d\n", result);
return 0;
}
```
在这个实现中,我们使用了一个大小为101的数组来统计每个元素出现的次数,因为题目中说明了数组长度不会超过100。然后再遍历一遍数组,将出现次数为1的元素加起来即可。
对于输入示例int nums[ ]={1,2,2,3},调用sumOfUnique(nums, 4)应该返回4。
阅读全文