#include using namespace std; class Solution { public: int removeDuplicates(vector& nums) { const int number_limit = 2*1e4+10; int numbers[number_limit] = {}; const int shift = 1e4; for(int i = 0 ; i < nums.size() ; i++){ numbers[nums[i]+shift]++; } int sum = 0; int cur = 0; for(int i = 0 ; i < number_limit ;i++){ if(numbers[i]>=2){ nums[cur++] = i-shift; nums[cur++] = i-shift; sum += 2; }else if(numbers[i] == 1){ nums[cur++] = i-shift; sum += 1; } } return sum; } int better(vector& nums){ int i = 0 ; for(int ele: nums){ if( i==0 || i==1 || nums[i-2]!=ele){ nums[i] = ele; i++; } } return i; } }; int main(){ Solution sol; vector ex1 = {1,1,1,2,2,3}; // int k = sol.removeDuplicates(ex1); int k = sol.better(ex1); cout< ex2 = {0,0,1,1,1,1,2,3,3}; // k = sol.removeDuplicates(ex2); k = sol.better(ex2); cout<