计蒜客 难题题库 011 移除数组中的重复元素

给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度。

例如:

   数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2}

要求:

   不能新开数组分配额外的空间。即常数空间限制。

提示:

   输入一个整数n,以及其对应的数组A[n],输出新数组长度

样例1

输入:

5
0 0 1 1 2

输出:

3


#include<iostream>
using namespace std;

int main(){
    int n;
    cin >> n;
    if(n < 1){
        cout << "0" << endl;
        return 0;
    }
    int a, b;
    int count = 1;
    cin >> a;
    for(int i = 1; i < n; ++i){
        cin >> b;
        if(a != b){
            a = b;
            ++count;
        }
    }
    cout << count << endl;
}


你可能感兴趣的:(OJ,计蒜客)