码迷,mamicode.com
首页 > 编程语言 > 详细

计蒜客 移除数组中的重复元素 (双指针扫描)

时间:2016-07-15 00:03:38      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

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

例如:

   数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2}

要求:

   不能新开数组分配额外的空间。即常数空间限制。

提示:

   输入一个整数n,以及其对应的数组A[n],输出新数组长度

样例输入

5
0 0 1 1 2

样例输出

3
 1 #include <iostream>
 2 using namespace std;
 3 int main(){
 4     int n, ans;
 5     cin >> n;
 6     ans = n;
 7     int *a = new int[n];
 8     for(int i = 0; i < n; i++){
 9         cin >> a[i];
10     }
11     for(int i = 0; i < n-1; i++){
12         if(a[i] == a[i+1])
13             ans--;
14     }
15     cout << ans << endl;
16     return 0;
17 }

 


计蒜客 移除数组中的重复元素 (双指针扫描)

标签:

原文地址:http://www.cnblogs.com/qinduanyinghua/p/5671975.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!