![](https://img.haomeiwen.com/i22416923/aae1bf9f1bf50176.png)
LeetCode 80
原题链接
HashMap
public int removeDuplicates(int[] nums) {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
int i = 0;
for (int num : nums) {
int count = (int) map.getOrDefault(num, 0) + 1;
map.put(num, count);
if (count <= 2) {
nums[i++] = num;
}
}
return i;
}
双指针
![](https://img.haomeiwen.com/i22416923/6d075bb153e3239f.png)
官方思路
class Solution {
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;
}
}
网友评论