Modification of the problem "Remove Duplicates":
What if the duplicates are allowed at most twice in the resulting array?
What if the duplicates are allowed at most twice in the resulting array?
For example,
Given sorted array nums =
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.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | int Solution::removeDuplicates(vector<int> &nums) { if(nums.size() == 0){ return 0; } int count = 1; int j = 1; for(int i = 1 ; i < nums.size(); i++){ if(nums[i] != nums[i - 1]){ nums[j] = nums[i]; count = 1; j++; } else if(count == 1){ nums[j] = nums[i]; count = 2; j++; } } return j; } |
0 comments:
Post a Comment