8 条题解
-
2
一个比较容易理解的题解
幸好数据范围小不过时间快一点,不用嵌套
#include <iostream> #include <stack> #include <cmath> #include <vector> #include <string.h> #include <queue> #include <stdio.h> #include <iomanip> #include <cstdio> #include <algorithm> #define int long long using namespace std; const int N = 3e4 + 10; const int INF = 0x3f3f3f3f; int a[N]/*存储数据*/ ,n, no_once[N]/*不是第一次出现的*/; bool vis[N]/*是否出现过*/;//用bool省空间 signed main() { cin >> n; for(int i = 1; i <= n; i++) { cin >> a[i]; if(vis[a[i]] == 0)//没访问过该数字 { vis[a[i]] = 1;//标记为访问过 } else { no_once[i] = 1;//不是第一次出现的,标记 } } for(int i = 1; i <= n; i++) { if(no_once[i] == 0)//是第一次出现的 { cout << a[i] << " ";//输出 } } return 0; }
信息
- ID
- 1030
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 951
- 已通过
- 298
- 上传者