Follow up for "Remove Duplicates":
What if duplicates are allowed at most?twice?
For example,
Given sorted array?nums?=?[1,1,1,2,2,3]
,
Your function should return length =?5
, with the first five elements of?nums?being?1
,?1
,?2
,?2
?and?3
. It doesn‘t matter what you leave beyond the new length.
?
public class Solution { public int removeDuplicates(int[] nums) { if (nums.length <= 2) { return nums.length; } int pre = 1; int cur = 2; while (cur < nums.length) { if (nums[cur]==nums[pre] && nums[cur]==nums[pre-1]) { cur++; } else { pre++; nums[pre] = nums[cur]; cur++; } } return pre+1; } }
?
Remove Duplicates from Sorted Array II
原文:http://hcx2013.iteye.com/blog/2223988