问题描述:
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/7207.html