計蒜客 移除陣列重複元素
阿新 • • 發佈:2019-01-26
給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。
例如:陣列 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(1≤n≤1000)。
接下來一行 nnn 個整數 Ai(−1000≤Ai≤1000)A_i(-1000 \leq A_i \leq 1000)Ai(−1000≤Ai≤1000),表示陣列 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; }