删除排序数组中的重复数字 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
本文介绍了一种使用双指针技术解决删除排序数组中重复数字的问题,当数组中的元素最多允许出现两次时,该算法能有效地进行处理并返回更新后的数组长度。
755

被折叠的 条评论
为什么被折叠?



