8 条题解
-
2许栋轶 LV 10 @ 2023-2-1 18:39:51
一个比较容易理解的题解
幸好数据范围小不过时间快一点,不用嵌套
#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; }
-
12023-3-25 11:32:18@
这道题用哈希表轻松解决 #include <iostream> #include <unordered_set> using namespace std;
int main() { int n; cin >> n; int a[n]; for (int i = 0; i < n; i++) cin >> a[i];
unordered_set<int> s; // 使用哈希表来存储已经出现的数字 for (int i = 0; i < n; i++) { if (s.count(a[i]) == 0) // 如果该数字没有出现过,则输出并加入到哈希表中 { cout << a[i] << " "; s.insert(a[i]); } } return 0;
}
-
12023-1-14 17:29:59@
#include<iostream> #include<bits/stdc++.h> #include<iomanip> #include<math.h> #include<algorithm> #include<cstring> using namespace std; int main(){ int n,a[100005]; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(a[i]==a[j]){ a[j]=0; } } } for(int i=0;i<n;i++){ if(a[i]!=0){ cout<<a[i]<<" "; } } }
-
02024-9-22 16:40:38@
include<bits/stdc++.h> using namespace std; const int N=1e5+10; const int A=0x3f3f3f3f; int a,n; bool b[10000]; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a; if(b[a]==0) { cout<<a<<' '; } b[a]=1; } return 0; }
-
02024-6-30 21:36:29@
看来好像没人用我这种?
简简单单,看看吧:#include<bits/stdc++.h> using namespace std; const int N=1e5+10; const int A=0x3f3f3f3f; int a,n; bool b[10000]; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a; if(b[a]==0) { cout<<a<<' '; } b[a]=1; } return 0; }
-
02024-3-12 19:16:54@
#include <bits/stdc++.h> using namespace std; const int N = 1e7 + 10; const int INF = 0x3f3f3f3f; int a[N],n,maxx; int main() { cin >> n; for(int i = 1;i <= n;i++) { cin >> a[i]; bool P = 0; for(int j = 1;j < i;j++) { if(a[i]==a[j]) { P = 1; break; } } if(P == 0) { cout<<a[i]<<" "; } } return 0; }
-
02023-9-10 11:27:29@
#include <bits/stdc++.h> using namespace std; const int N=1e7+10; const int INF=0x3f3f3f3f; int a[N],n,maxx; int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; bool f=0; for(int j=1;j<i;j++) { if(a[i]==a[j]) { f=1; break; } } if(f==0) { cout<<a[i]<<" "; } } return 0; }
数据小,能AC
-
02023-3-11 21:13:53@
#include<iostream> using namespace std; bool isappe(int* arr,int target,int index) { for(int i=0;i<index;i++)if(arr[i]==target)return true; return false; } int main() { int n; cin>>n; int arr[n]; for(int i=0;i<n;i++) { cin>>arr[i]; if(isappe(arr,arr[i],i))arr[i]=0; } for(int i=0;i<n;i++)if(arr[i]!=0)cout<<arr[i]<<' '; return 0; }
- 1
信息
- ID
- 1030
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 867
- 已通过
- 286
- 上传者