问题描述:
Follow up for “Remove Duplicates”:
What if duplicates are allowed at most twice?
For example,
Given sorted array nums = [1,1,1,2,2,3],
Your function should return length = 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn't matter what you leave beyond the new length
实现代码:
public class Solution {
public static int removeDuplicates(int[] nums) {
int index=0,temp=0;
for(int i=1;i<nums.length;i++){
if(nums[i] != nums[i-1]){
nums[++index]=nums[i];
temp=0;
}else{
temp++;
if(temp<2){
nums[++index]=nums[i];
}
}
}
return index+1;
}
public static void main(String[] args) {
int[] a={1,1,1,2,3,3,3,3,4,4};
int b=removeDuplicates(a);
System.out.println(b);
}
}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/7207.html