1. 程式人生 > >計蒜客 移除陣列重複元素

計蒜客 移除陣列重複元素

給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。

例如:陣列 A={1,1,2}A = \{1, 1, 2\}A={1,1,2},你的程式應該輸出 222 即新陣列的長度,新陣列為 {1,2}\{1, 2\}{1,2}

要求:不能新開陣列分配額外的空間,即常數空間限制。

輸入格式

輸入一個整數 n(1≤n≤1000)n(1 \leq n \leq 1000)n(1n1000)

接下來一行 nnn 個整數 Ai(−1000≤Ai≤1000)A_i(-1000 \leq A_i \leq 1000)Ai(1000Ai1000),表示陣列 AAA 中的每個元素。

輸出格式

輸出一個整數,表示新陣列長度。

樣例輸入

5
0 0 1 1 2

樣例輸出

3
#include<iostream>

using namespace std;

int remove(int a[],int n){
    int j=n;
    for (int i=0;i<n;i++){
        if(a[i]==a[i+1]) j--;
    }
    return j;
}

int main()
{
    int n;
    cin>>n;
    int a[n];
    for (auto &c:a)
        cin>>c;
    cout<<remove(a,n)<<endl;
}