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

序列中整数去重

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

相关推荐

已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务