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

序列中整数去重

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

相关推荐

2025-12-27 16:01
重庆大学 Java
蛊界Go学长林剑行:项目部分,不光要展示技术栈的熟练程度,还要有架构意识+产品意识。知道每个业务逻辑落地的成果和技术选型的思考,不然纯炫技是没意义的,毕竟你用的这些技术大概率跟大厂实际项目不垂直,面试官不一定有兴趣
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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