题解 | 序列中整数去重
序列中整数去重
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;
}
仅使用一个数组来解决。可能写的有些不好,请见谅。
查看12道真题和解析
三奇智元机器人科技有限公司公司福利 130人发布