题目链接:
https://pintia.cn/problem-sets/994805342720868352/problems/994805444361437184
题目分析:
hash。
本题较为简单,直接遍历两遍输入序列即可。开始标记出现次数都为零次。再此遍历时,输出第一个次数为一的元素即可。
参考代码:
#include <bits/stdc++.h>
using namespace std;
int a[100010],hashtable[10010];
int main(){
int n,flag = false;
scanf("%d",&n);
for(int i = 0; i < n; i++){
scanf("%d",&a[i]);
hashtable[a[i]]++;
}
for(int i = 0; i < n;i++){
if(hashtable[a[i]]==1){
printf("%d\n",a[i]);
flag=true;
break;}
}
if(!flag) printf("None\n");
return 0;
}
本文介绍了一种使用哈希表实现的算法,用于从一系列输入中找出只出现一次的元素。通过两次遍历输入序列,首次建立哈希表记录每个元素的出现次数,第二次遍历则输出第一次遇到的出现次数为一的元素。
555

被折叠的 条评论
为什么被折叠?



