题目
给一串数,找到第一个只出现了一次的数字
代码和思路
- 开两个数组,一个用于记录数字出现的个数,用数字做下标,用数组的值做出现的次数
- 第二个用于顺序记录读入的每个数字
- 循环找第一个数组值为1的即可
- 还是比较水的
#include<cstdio> #include<algorithm> using namespace std; const int maxn = 10010; int table[maxn]; int data1[100010]; int main() { int n; int ans = -1; fill(table, table + maxn, 0); scanf("%d", &n); for (int i = 0; i < n; i++) { int temp; scanf("%d", &temp); data1[i] = temp; table[temp]++; } for (int i = 0; i < n; i++) { int temp = data1[i]; if (table[temp] == 1) { ans = temp; break; } } if (ans == -1) { printf("None"); return 0; } printf("%d", ans); return 0; }