1 题目
2 思路
双指针+快慢:同 3/150 26-删除有序数组中的重复项 ,原来是比较 i-1的元素和j元素,现在是比较 i-2元素和j元素。时间复杂度:O(n),空间复杂度:O(1)。
3 题解
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int n = nums.size();
if (n < 2) return n;
int i = 2, j = 2;
while (j < n) {
if (nums[i-2] != nums[j]) {
nums[i++] = nums[j];
}
++j;
}
return i;
}
};
评论区