(leetcode) 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.

 1 class Solution {
 2 public:
 3     int removeDuplicates(vector<int>& nums) {
 4         int len = nums.size();
 5         if(!len) return len;
 6         int count = 1, flag = 0;
 7         for(int i = 1; i < len; i++) {
 8             if(nums[i] == nums[i - 1]) {
 9                 count++;
10             } else count = 1;
11             if(count < 3) nums[++flag] = nums[i];
12         }
13         return flag + 1;
14     }
15 };

 

posted @ 2015-08-21 11:12  sunalive  Views(116)  Comments(0)    收藏  举报