80. Remove Duplicates from Sorted Array II
80. Remove Duplicates from Sorted Array II
Description
Given an integer array nums
sorted in non-decreasing order , remove some duplicates in-place such that each unique element appears at most twice . The relative order of the elements should be kept the same .
Since it is impossible to change the length of the array in some languages, you must instead have the result be placed in the first part of the array nums
. More formally, if there are k
elements after removing the duplicates, then the first k
elements of nums
should hold the final result. It does not matter what you leave beyond the firstk
elements.
Return k
after placing the final result in the first k
slots of nums
.
Do not allocate extra space for another array. You must do this by modifying the input array in-place with O(1) extra memory.
Custom Judge:
The judge will test your solution with the following code:
1 | int[] nums = [...]; // Input array |
If all assertions pass, then your solution will be accepted .
Example 1:
1 | Input: nums = [1,1,1,2,2,3] |
Example 2:
1 | Input: nums = [0,0,1,1,1,1,2,3,3] |
Constraints:
1 <= nums.length <= 3 * 10^4
-10^4 <= nums[i] <= 10^4
nums
is sorted in non-decreasing order.
Hints/Notes
- 2025/03/03 Q1
- stack or two pointers
- 0x3Fâs solution
Solution
Language: C++
1 | class Solution { |