码迷,mamicode.com
首页 > 其他好文 > 详细

[leetcode] Remove Duplicates from Sorted Array

时间:2015-01-21 01:18:09      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:

题意:

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this in place with constant memory.

For example,
Given input array A = [1,1,2],

Your function should return length = 2, and A is now [1,2].

 

给定一个有序数组,删除数组中成对出现的数,保证数组中每个数只出现一次,返回最终的数组长度。

这题需要注意的地方是不仅要检测返回的数组长度,同时也要检查返回的数组内容。

思路是设定两个下标,一个i遍历整个数组,一个index记录当前需要比较的数,同时也是返回数组的长度,在遍历的过程中如果遇到A[i]不等于A[index],就将A[i]插入到A[index]后面,具体实现代码如下:

int removeDuplicates(int A[], int n) {
        if(n == 0)
            return 0;
        int index = 0;
	for(int i = 1; i < n; i++)
	{	
	  if(A[i] != A[index])
	  {
		  A[++index] = A[i];    //当A[i] 不等于 当前index的值时,将A[i] 插入到index后面
	  }
	}
	return index + 1;
    }

  

[leetcode] Remove Duplicates from Sorted Array

标签:

原文地址:http://www.cnblogs.com/moonfighting/p/4237778.html

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