/**
* 允许重复两次
* @param nums
* @return
*/
public static int removeDuplicatesTwice(int[] nums){
int n=nums.length;
int index=0;
for (int i=0;i<n;++i){
if (i>0 && i<n-1 && nums[i]==nums[i-1] && nums[i]==nums[i+1])
continue;
nums[index++]=nums[i];
}
return index;
}
/**
*
* @param num
* @param occur 允许最大重复个数
* @return
*/
public static int removeCommonDuplicates(int[] num ,int occur){
if (num.length<= occur) return num.length;
int index=occur;
for (int i=occur;i<num.length;++i){
if (num[i] != num[index-occur]){
num[index++]=num[i];
}
}
return index;
}
网友评论