我想删除有序数组中的重复项
输入一个非严格递增排列的数组,请删除重复出现的元素,使每个元素只出现一次,打印删除后数组的新长度与修改后的数组。
示例 输入:nums = [0,0,1,1,1,2,2,3,3,4]
输出:5, nums = [0,1,2,3,4]
y表示个数的话要加一
#include <stdio.h>
int main()
{
int i = 0;
int j = 1;
int n = 0;
int y = 0;
int a[100];
// printf("请输入数组个数: \n");
scanf("%d",&n);
// printf("请输入数组:\n");
for (i = 0;i < n; i++)
scanf("%d",&a[i]);
int len = sizeof(a)/sizeof(a[0]);
for (j = 0; j <n; j++)
if (a[j] != a[y])
a[++y] = a[j];
y++;
printf("%d\n", y);
for (i = 0;i < y; i++)
printf("%d",a[i]);
return 0;
}