题解 | 序列中整数去重

序列中整数去重

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

#include <stdio.h>
#include <stdlib.h>  //malloc函数所需头文件
int main()
{
    int n,count;
    scanf("%d",&n);
    int* arr=(int*)malloc(n*sizeof(int));  //设置动态数组,元素为n个
    for(int i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
    for(int i=0;i<n;i++) //以第一个出现的元素为基准
    {
        for(int j=i+1;j<n;j++) //寻找相同元素
        {
            if(arr[i]==arr[j]) //找到相同元素后开始缩减元素
            {
                for(count=j;count<n;count++)  //合并相同元素,将后面的元素依次前移
                {
                    arr[count]=arr[count+1];
                }
                n--; //每次执行后元素个数减一
                i--; 
            }
        }
    }
    for(int i=0;i<n;i++)
    {
        printf("%d ",arr[i]);
    }
    free(arr); //释放内存
    return 0;
}

仅使用一个数组来解决。可能写的有些不好,请见谅。

全部评论

相关推荐

不愿透露姓名的神秘牛友
03-30 21:35
爱蜜莉雅碳劝退测开:裁员裁大动脉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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