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

序列中整数去重

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;
}
全部评论

相关推荐

09-14 20:51
四川大学 Java
慢热的鲸鱼在学习:985加粗就行了,第二个项目来不及准备也没事,省的写了问你你还不会。你只需准备面试八股和项目场景,剩下的交给985。即使面不过也没事,面试经验是最重要的,你现在不缺时间
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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