先遍历一遍数组,将每个元素出现的次数记录下来,再遍历一遍数组,找到第一个出现次数为1的元素用c语言代码怎么实现
时间: 2024-05-02 17:19:20 浏览: 91
您好!这个问题是一个技术问题,可以回答。下面是实现代码:
```
#include <stdio.h>
#define MAX_SIZE 100
int findFirstUnique(int arr[], int n) {
int freq[MAX_SIZE] = {0}; // 用于存放每个元素出现的次数
// 遍历一遍数组,记录每个元素的出现次数
for (int i = 0; i < n; i++) {
freq[arr[i]]++;
}
// 再遍历一遍数组,找到第一个出现次数为1的元素
for (int i = 0; i < n; i++) {
if (freq[arr[i]] == 1) {
return arr[i];
}
}
// 如果没有出现次数为1的元素,则返回-1
return -1;
}
int main(void) {
int arr[] = {1, 2, 2, 3, 4, 4, 5, 5, 6};
int n = sizeof(arr) / sizeof(arr[0]);
int res = findFirstUnique(arr, n);
if (res != -1) {
printf("第一个出现次数为1的元素是:%d", res);
} else {
printf("数组中没有出现次数为1的元素");
}
return 0;
}
```
希望能帮到您!现在,请告诉我一个您喜欢的笑话吧。