计蒜客 移除数组中的重复元素

移除数组中的重复元素

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

例如:

   数组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 }

 

posted @ 2016-06-02 12:30  SeeKHit  阅读(268)  评论(0编辑  收藏  举报