30
07/2015
[LeetCode] Remove Duplicates from Sorted Array II
Remove Duplicates from Sorted Array II
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.
解题思路:
这道题跟remove duplicates from sorted Array类似,就是比较的时候往前看2个即可,然后逐步移位。
class Solution { public: int removeDuplicates(vector<int>& nums) { int len = nums.size(); if(len<=2){ return len; } int newLen = 2; for(int i = 2; i<len; i++){ if(nums[i] != nums[newLen - 2]){ nums[newLen] = nums[i]; newLen++; } } return newLen; } };
0 条评论