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