跟进“删除重复数字”:
如果可以允许出现两次重复将如何处理?
import java.util.Scanner;
/**
* 跟进“删除重复数字”:
如果可以允许出现两次重复将如何处理?
* @author Dell
*
*/
public class Test101 {
public static int removeDuplicates1(int[] a)
{
if(a.length==0) return 0;
if(a.length==1) return 1;
if(a.length==2) return 2;
int k=0;
int times=1;
for(int i=1;i<a.length;i++)
{
if(a[i]!=a[k])
{
a[++k]=a[i];
times=1;
}
else if(a[i]==a[k])
{
if(times>=2)
continue;
else
{
a[++k]=a[i];
times++;
}
}
}
/* for(int i=0;i<=k;i++)
{
System.out.print(a[i]+" ");
}*/
return k+1;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] a=new int[n];
for(int i=0;i<a.length;i++)
{
a[i]=sc.nextInt();
}
removeDuplicates1(a);
}
}