NC16669 明明的随机数

明明的随机数

https://ac.nowcoder.com/acm/problem/16669

题目大意:输入n后,输入n个数后进行去重加排序输出
面对这种情况,利用数组存储对应数字状态是不错的选择,利用数组存储对应数字,当数字下标对应的值为1时即说明了存在
之后再去重输出,复杂度为O(n)
代码如下:
#include <iostream>
#include <algorithm>
using namespace std;</algorithm></iostream>

int main()
{
int t;
int i;
cin>>t;
int a[1001]={0},b;
for(i=0;i<t;i++){
cin>>b;
if(a[b]==0)a[b]=1;
}
int c[1001],j=0;
for(i=1;i<=1000;i++){
if(a[i]==1)c[j++]=i;
}
cout<<j<<endl;
sort(c,c+j);
for(i=0;i<j;i++){
cout<<c[i]<<' ';
}
return 0;
}
/*统计的思想
利用数组值是否为1来筛选掉重复的数字
*/

全部评论
你把存在的数存下来在c里面,不需要再对c数组排序啦,c本来就是有序的嘿嘿
点赞 回复 分享
发布于 2021-02-26 15:11

相关推荐

09-17 10:53
四川大学 C++
牛客91242815...:会写标书没有任何卵用,鉴定为横向垃圾导师的受害者
点赞 评论 收藏
分享
迷茫的大四🐶:这才是秋招啊,我那除了广告还是广告的邮件通知,空白一片面试日程安排还配叫秋招吗
秋招白月光
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务