删除排序数组中的重复数字 II
题目
跟进“删除重复数字”:
如果可以允许出现两次重复将如何处理?
样例
给出数组A =[1,1,1,2,2,3],你的函数应该返回长度5,此时A=[1,1,2,2,3]。
题解
解法依然是使用双指针。
public class Solution {
/**
* @param A: a array of integers
* @return : return an integer
*/
public int removeDuplicates(int[] nums) {
int cur = 0;
int i ,j;
for(i = 0; i < nums.length;)
{
int now = nums[i];
for( j = i; j < nums.length; j++)
{
if(nums[j] != now)
{
break;
}
if(j-i < 2)
{
nums[cur++] = now;
}
}
i = j;
}
return cur;
}
}
Last Update 2016.9.3