計蒜客 移除陣列中的重複元素

weixin_30639719發表於2020-04-05

移除陣列中的重複元素

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

例如:

   陣列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 }

 

轉載於:https://www.cnblogs.com/SeekHit/p/5552607.html

相關文章