import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class mytest extends Thread{
public static void main(String[] args) throws InterruptedException {
int [] data={1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2};
int result=result(data);
System.out.println("The length of the Array is:"+result);
}
static int result(int data [])
{
int i=0;
int j=i+1;
int k=0;
boolean flag=true;
int last=data.length;
if(last==0)
return 0;
if(last==1)
{ print(data,last);
return 1;
}
while(j<=data.length-1)
{
if(flag)
data[k++]=data[i];
if(data[i]==data[j])
{
last--;
flag=false;
}
else
{
flag=true;
}
i=j;
j++;
}
if(j==data.length)
{
data[k]=data[--j];
}
print(data,last);
return last;
}
static void print(int [] data,int k)
{
for(int i=0;i<k;i++)
System.out.print(data[i]+" ");
System.out.println();
}
}
For example,Given input array A=[1,1,2], your fuction will return length=2,ans A is now {1,2}
最新推荐文章于 2022-04-19 20:19:17 发布