您的位置:首页 > 其它

数组——remove-duplicates-from-sorted-array-ii

2016-05-16 21:28 375 查看
题目:移除排序数组中多余的元素,使每个元素最多出现两次;

For example,

Given sorted array A =[1,1,1,2,2,3],

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

题解:使用双下标,一个下标用来对重复次数少于等于2的数赋值(原数组中),另一个用来遍历数组,另外用一个变量count跟踪元素出现的次数。

public int removeDuplicates(int[] A) {
if(A == null||A.length == 0)
return 0;
int count =1;
int size=0;
for(int i=1;i<A.length;i++)
{
if(A[i]!=A[size])
{
A[++size]=A[i];
count=1;
}
else
{
if(count == 1)
{
A[++size]=A[i];
count++;
}
}
}
return ++size;//元素个数 == size+1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: