题解 | #序列中整数去重#

序列中整数去重

http://www.nowcoder.com/practice/6564a2f6e70f4153ad1ffd58b2b28490

#include<stdio.h>
#include<malloc.h>
int main(void)
{
    int n;
    scanf("%d",&n);
    int *num=(int *)malloc(sizeof(int)*n);
    for(int i=0;i<n;i++)
        scanf("%d",&num[i]);
    for(int i=0;i<n;i++)//从头到尾检查一遍
    {
        if(num[i]!=0)//因为整数的范围是1-5000,所以可以设定重复的都为0,凡是已经置为0的数不用再检查
        {
            int temp=num[i];
            for(int j=i+1;j<=n-1;j++)//从检查的数的后一个开始,如果检查到的数重复则将其置为0
                if(temp==num[j])
                    num[j]=0;
        }
    }
    for(int i=0;i<n;i++)//因为题目要求输出而已,如果要将数组变为不重复的新数组,可以用一个新数组进行幅值
        if(num[i]!=0)
            printf("%d ",num[i]);
    return 0;
}
全部评论

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 17:30
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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