您的位置:首页 > 其它

计蒜客 难题题库 022 排序后的数组删除重复数字

2015-08-09 21:57 274 查看
1305次
21.6%
1000ms
65536K

给定升序排序的数组,如果数组有2个或2个以上相同的数字,去掉他们,直到剩下2个为止。
例如:
数组A[] = [1,1,1,2,2,3]
你的算法需要返回新数组的长度5,
此时A为[1,1,2,2,3].
格式:第一行输入一个不超过200的数字n,第二行输入A
,
最后输出新数组的长度。

样例1

输入:
6
1 1 1 1 3 3


输出:
4


#include<iostream>
using namespace std;

int main(){
int n;
cin >> n;
if(n <= 2){
cout << n << endl;
}
int a, last_a, count = 1, res = 1;
cin >> last_a;
while(--n){
cin >> a;
if(a == last_a){
if(++count <= 2){
++res;
}
}else{
last_a = a;
count = 1;
++res;
}
}
cout << res << endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: