移除陣列中的重複元素
給定一個升序排列的陣列,去掉重複的數,並返回新的陣列的長度。
例如:
陣列A = {1, 1, 2},你的函式應該返回長度2,新陣列為{1, 2}
要求:
不能新開陣列分配額外的空間。即常數空間限制。
提示:
輸入一個整數n,以及其對應的陣列A[n],輸出新陣列長度
樣例輸入
5 0 0 1 1 2
樣例輸出
3
1 #include<iostream> 2 #include<vector> 3 #define MAX 100000 4 using namespace std; 5 int main() 6 { 7 int n, ans; 8 int a[MAX]; 9 scanf("%d", &n); 10 for (int i = 0; i < n; i++) 11 scanf("%d", &a[i]); 12 13 ans = n; 14 for (int i = 0; i<n - 1; i++) 15 { 16 if (a[i] == a[i + 1]) 17 ans--; 18 } 19 20 printf("%d", ans); 21 }