A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ziyangfgt 中级黑马   /  2017-6-8 10:38  /  799 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static int[] changemethodone(int src[]){
int length=src.length;
int[] taget=new int[length];

int index=0;
taget[0]=src[0];
for(int i=1;i<length;i++){
if(taget[index]!=src[i]){
index++;
taget[index]=src[i];
}
}
return taget;
}


在上面的方法中,声明了一个与传入数组长度相等的数组,根据循环判断是否有重复的数字,滨江不重复的数字放入声明的数组中,

如果传入数组中存在重复的数字,那么这个数组的长度应会小于传入数组的长度,但是这样就造成了数组长度的浪费。

public static int[] changemethodtwo(int src[]){

int length=src.length;

int[] tagetindex=new int[length];

int tagetlength=length;

for(int i=0;i<length;i++){

tagetindex[i]=0;

}

for(int j=1;j<length;j++){

if(src[j]==src[j-1]){

tagetindex[j]=1;

tagetlength--;

}

}

int[] target=new int[tagetlength];

int index=0;

for(int k=0;k<length;k++){

if(tagetindex[k]==0){

target[index++]=src[k];

}

}

return target;

}





在上面的方法中,也声明了一个与传入数组长度相等的数组tagetindex,值初始化全为0.循环进行判断重复数字的个数,

如果存在重复数字则数组tagetindex元素赋值为1,然后在声明一个数组target,长度为(tagetindex.length-重复数字个数)。

当tagetindex数组中元素为0的,将数组src元素下表等于tagetindex元素中部位0的下标的元素值赋值给target。

输入数组{1,1,2,3,4,5,6,9,9,12,53}

得到的结果为

第一种方法去掉数组中重复数字结果:

1    2    3    4    5    6    9    12    53    0    0

第二种方法去掉数组中重复数字结果:

1    2    3    4    5    6    9    12    53

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马