黑马程序员技术交流社区
标题:
老师留得作业题目也太难了,,我想了好久,原谅我是一只小
[打印本页]
作者:
877758007@qq.co
时间:
2016-7-27 07:35
标题:
老师留得作业题目也太难了,,我想了好久,原谅我是一只小
分析以下需求,并用代码实现:(有兴趣的同学可以试试! 拓展)
(1)定义一个int类型的一维数组,内容为{6,2,9,6,1,2,6,7,8}
(2)去除上面定义的数组中的重复元素,打印最终结果{6, 2, 9, 1, 7, 8}
作者:
877758007@qq.co
时间:
2016-7-27 07:37
我是一只小小小菜鸟,,,大牛指点带我飞
作者:
cat73
时间:
2016-7-27 08:25
把所有元素加入 Set
然后 toArray
作者:
leomywork
时间:
2016-7-27 12:05
是时候装一波了,当时候装一波了。放上我的github链接https://github.com/leomy/Algorithm/blob/master/duplicateCheck/duplicateCheck.c 这是C语言实现的,注意查看同目录下的.h文件,有参数的使用条件
作者:
13411939415
时间:
2016-7-27 23:26
public class LianXi5 {
public static void main(String[] args) {
int[] a = {6,2,9,6,1,2,6,7,8};
int num = 0; //num为出现重复数字的次数
for(int i = 0; i < a.length - 1; i++ ) {
for(int j = i + 1; j < a.length - num; j++ ) { //j只比较到数组长度减去重复次数的位置
if(a[i] == a[j]) {
for(int t = j; t < a.length - num - 1; t++) { //把重复的数字替换成下一位置的数,后面的数依次向前替换
a[t] = a[t + 1];
}
num++; //if每执行依次说明有出现一次重复的数字
}
}
}
int[] b = new int[a.length - num]; //定义数组b的长度为数组a长度减去出现重复数字的次数
for(int i = 0; i < b.length; i++){ //用数组b接受去掉重复之后的内容
b[i] = a[i];
}
a = b; //把b的地址值赋给a
for(int i = 0; i < a.length; i++ ) { //遍历a
System.out.println(a[i]);
}
}
}
纯手打哦,拿去吧
作者:
13411939415
时间:
2016-7-27 23:31
最外层循环也减去一个num,代码更好点
for(int i = 0; i < a.length - num - 1; i++ ) {
作者:
13411939415
时间:
2016-7-27 23:34
额,突然想到更简单的。。。
我去去就来
作者:
13411939415
时间:
2016-7-27 23:42
我又回来了!!!
public class LianXi6 {
public static void main(String[] args) {
int[] a = {6,2,9,6,1,2,6,7,8};
int length = a.length; //length为数组当前长度
for(int i = 0; i < length - 1; i++ ) {
for(int j = i + 1; j < length; j++ ) { //每出现一次重复的数字,该数字后面的所有数字依次向前移动一位,数组的长度-1
if(a[i] == a[j]) {
for(int t = j; t < length -1; t++ ) {
a[t] = a[t + 1];
}
length--;
}
}
}
for(int i = 0; i < length; i++ ) { //遍历数组
System.out.println(a[i]);
}
}
}
作者:
haochengjian
时间:
2016-7-27 23:46
对不起 哈哈哈
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2