一道面试编程题

limingyun 2010-09-10 01:46:19
对一个数组int[8,1,3,2,9,4,0,111,3,99,3,8,119,110]去除重复值.要求不使用java.util.*中的任何工具类。
先叙述原理,再写出代码。
...全文
204 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengzhistar 2010-09-10
  • 打赏
  • 举报
回复
#6楼方法很好!
lianjiao511214 2010-09-10
  • 打赏
  • 举报
回复
很简单的啊!
zhuzeitou 2010-09-10
  • 打赏
  • 举报
回复
public static int[] getArr(int[] arr) {
int[] temp = new int[arr.length];
int count = 0;
for (int i = 0; i < arr.length; i++) {
boolean repeat = false;
for (int j = 0; j < count; j++) {
if (arr[i] == temp[j]) {
repeat = true;
break;
}
}
if (!repeat)
temp[count++] = arr[i];
}
int[] res = new int[count];
for (int i = 0; i < count; i++)
res[i] = temp[i];
return res;
}
pengzhistar 2010-09-10
  • 打赏
  • 举报
回复

public static int[] To_re(int [] a){
int count = 0;//用于统计重复
for (int i = a.length -1; i >=0; i--) {
int val = a[i];
for (int j = 0; j < i; j++) {
if(val == a[j]){//存在重复,数组后面整体向前移一位
count ++;
for(int k = i ; k < a.length -1 ; k ++){
a[k] = a[k+1];
}
break;
}
}
}
int [] b = new int[a.length -count];

System.arraycopy(a, 0, b, 0, a.length -count);

return b;
}
wei_wxx 2010-09-10
  • 打赏
  • 举报
回复
用排序。然后根据相连的值在进行次判断。和冒泡一样。不过这次是删除的
flfljh 2010-09-10
  • 打赏
  • 举报
回复
直接用桶排序就行了。。。

看看桶排序的原理吧。。
wang_dream 2010-09-10
  • 打赏
  • 举报
回复
遍历循环数组中的每一个元素,每次都和元素后面的所有元素比较,相同删除。
zxb1222 2010-09-10
  • 打赏
  • 举报
回复
初学者哦 来看看哦 呵呵

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧