80. 删除排序数组中的重复项 II
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
时间复杂度:O(N)
空间复杂度:O(1)
class Solution {
public int removeDuplicates(int[] nums) {
//最终长度
int res=0;
//利用foreach
for(int num:nums){
//前两位直接不动,后面的比前面大的往新数组里移
if(res<2||num>nums[res-2])
nums[res++]=num;
}
return res;
}
}