fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. class Solution {
  6. public:
  7. int removeDuplicates(vector<int>& nums) {
  8.  
  9. // If the array is empty
  10. if (nums.size() == 0)
  11. return 0;
  12.  
  13. int index = 1; // position for next unique element
  14.  
  15. for (int i = 1; i < nums.size(); i++) {
  16. if (nums[i] != nums[index - 1]) {
  17. nums[index] = nums[i];
  18. index++;
  19. }
  20. }
  21.  
  22. return index; // number of unique elements
  23. }
  24. };
  25.  
  26. int main() {
  27. Solution sol;
  28.  
  29. vector<int> nums = {1, 1, 2, 2, 3, 4, 4};
  30.  
  31. int k = sol.removeDuplicates(nums);
  32.  
  33. cout << "Number of unique elements: " << k << endl;
  34. cout << "Array after removing duplicates: ";
  35.  
  36. for (int i = 0; i < k; i++) {
  37. cout << nums[i] << " ";
  38. }
  39.  
  40. return 0;
  41. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
Number of unique elements: 4
Array after removing duplicates: 1 2 3 4