2 条题解
-
0
P1059 明明的随机数——题解
思路
数字范围只有 到 ,可以建立布尔数组
vis:- 读到数字
x时,把vis[x]设为真; - 输入结束后,从 到 顺序扫描;
vis[i]为真说明数字 出现过,只统计和输出一次。
顺序扫描本身就完成了从小到大的排序。
复杂度
时间复杂度 ,空间复杂度 。
参考代码
#include <bits/stdc++.h> using namespace std; bool vis[1001]; int main() { int n; cin >> n; for (int i = 1; i <= n; i++) { int x; cin >> x; vis[x] = true; } int cnt = 0; for (int i = 1; i <= 1000; i++) if (vis[i]) cnt++; cout << cnt << '\n'; bool first = true; for (int i = 1; i <= 1000; i++) { if (vis[i]) { if (!first) cout << ' '; cout << i; first = false; } } cout << '\n'; return 0; } - 读到数字
-
0
#include <bits/stdc++.h> using namespace std; bool vis[1001]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ int x; cin>>x; vis[x]=true; } int cnt=0; for(int i=1;i<=1000;i++) if(vis[i]) cnt++; cout<<cnt<<'\n'; bool first=true; for(int i=1;i<=1000;i++) if(vis[i]){ if(!first) cout<<' '; cout<<i; first=false; } cout<<'\n'; return 0; }
- 1
信息
- ID
- 4948
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者
粤公网安备44195502000195号