您的位置:首页 > 其它

排序后的数组删除重复元素--计蒜课

2018-02-06 19:35 471 查看
给定升序排序的数组,如果数组有 22 个或 22 个以上相同的数字,去掉他们,直到剩下 22 个为止。

例如:

数组 A[]
= [1,1,1,2,2,3]A[]=[1,1,1,2,2,3]

你的算法需要返回新数组的长度 55,

此时 AA 为 [1,1,2,2,3][1,1,2,2,3]。


输入格式

第一行输入一个不超过 200200 的数字 nn,第二行输入 A
A[n]。


输出格式

输出新数组的长度。


样例输入

6
1 1 1 1 3 3


样例输出

4

代码:

#include<iostream>
using namespace std;
int main()
{
int n,a[210];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int count=n;
for(int i=1;i<n-1;i++)
{
if(a[i-1]==a[i]&&a[i]==a[i+1])
{
count--;
}
}
cout<<count<<endl;
return 0;
}这一题其实很简单的,一个循环,判断一个元素是不是出现多于两次,如果多于两次,按两次来算。先把输入的数的个数记作count,如果出现一个多余的数就减一。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: