lintcode101 删除排序数组中的重复数字 II
删除排序数组中的重复数字 II
跟进“删除重复数字”:
如果可以允许出现两次重复将如何处理?
在:lintcode100 删除排序数组中的重复数字 的基础上进行改进。
1 class Solution { 2 public: 3 /* 4 * @param nums: An ineger array 5 * @return: An integer 6 */ 7 int removeDuplicates(vector<int> &nums) { 8 // write your code here 9 int len = nums.size(); 10 if (nums.empty()) return 0; 11 12 int index = 1; 13 int c = 1; //c是关键 14 for (int i = 1; i < len; ++i) { 15 if (nums[i] != nums[i - 1]) { 16 nums[index] = nums[i]; 17 c = 1; 18 index++; 19 } else if ((nums[i] == nums[i - 1]) && c < 2){ 20 nums[index] = nums[i]; 21 index++; 22 c++; 23 } 24 } 25 return index; 26 } 27 };