OpenJudgeP1.10.9:明明的随机数__(刷题)_水题
这道题不知道为什么一开始WA了两发......
请看到的大神指点一下
1 #include<bits/stdc++.h>
2 using namespace std;
3 const int maxn=1e3 + 5;
4
5 int a[maxn];
6 int sum=0;
7
8 int main()
9 {
10 int n;
11 scanf("%d",&n);
12 for(int i=1;i<=n;i++) scanf("%d",&a[i]);
13 sort(a+1,a+n+1);
14 for(int i=1;i<=n;i++)
15 {
16 if(a[i] == a[i+1])
17 {
18 for(int j=i;j<=n;j++) swap(a[j],a[j+1]);
19 n--;
20 }
21 }
22 printf("%d\n",n);
23 for(int i=1;i<=n;i++) printf("%d ",a[i]);
24 printf("\n");
25 return 0;
26 }
最后改回了“桶排序” 还是AC了!!
AC代码:
1 #include<bits/stdc++.h>
2 using namespace std;
3 const int maxn=1e5 + 5;
4
5 int a[maxn];
6 int used[maxn];
7 int sum=0;
8
9 int main()
10 {
11 int n;
12 scanf("%d",&n);
13 for(int i=1;i<=n;i++)
14 {
15 scanf("%d",&a[i]);
16 if(!used[a[i]])
17 {
18 used[a[i]]++;
19 sum++;
20 }
21 else a[i]=0;
22 }
23 sort(a+1,a+n+1);
24 printf("%d\n",sum);
25 for(int i=1;i<=n;i++) if(a[i]) printf("%d ",a[i]);
26 printf("\n");
27 return 0;
28 }
不过我觉得,这道题还可以用set,这样都不需要去重了!!很高级。
因为不太熟悉,就懒得去写了/cy /cy;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】