题目出处
题目描述
个人解法
思路:
todo
代码示例:(Java)
todo
复杂度分析
todo
官方解法
方法1:双指针
思路:
代码示例:(Java)
public class Solution1 {
public int removeDuplicates(int[] nums) {
int n = nums.length;
if (n <= 2) {
return n;
}
int slow = 2, fast = 2;
while (fast < n) {
if (nums[slow - 2] != nums[fast]) {
nums[slow] = nums[fast];
++slow;
}
++fast;
}
return slow;
}
}
复杂度分析
- 时间复杂度:O(n),其中 n 是数组的长度。我们最多遍历该数组一次。
- 空间复杂度:O(1)。我们只需要常数的空间存储若干变量。