给定升序排序的数组,如果数组有 2 个或 2 个以上相同的数字,去掉他们,直到剩下 2 个为止。
例如:
数组 A[]=[1,1,1,2,2,3]
你的算法需要返回新数组的长度 5,
此时 A 为 [1,1,2,2,3]。
输入格式
第一行输入一个不超过 200 的数字 n,第二行输入 A[n]。
输出格式
输出新数组的长度。
样例输入
6 1 1 1 1 3 3
样例输出
4
#include<stdio.h>
int main()
{
int n,a[200],sum=0;
scanf("%d",&n);
int num = n;
for(int i = 0; i < n; i++)
{
scanf("%d ",&a[i]);
}
for(int j = 0; j < n; j++)
{
for(int k = 0; k < n; k++)
{
if(a[j] == a[k])
{
sum++;
}
}
if(sum > 2)
{
num = (num + 2) - sum; //用于求最后有几个元素
j += sum; //跳转到下一个新的元素
}
sum = 0;
}
printf("%d",num);
return 0;
}