public static void main(String[] args) {
int[] a = { 2, 3, 7, 12, 16, 21, 45, 76 }
int[] b = { 1, 5, 12, 14, 17, 21, 36, 45, 78, 98 }
int[] d = new int[18]
int count = 0, pos = 0
for (int i = 0 i < b.length i++) {
d[i] = b[i]
}
for (int j = 0 j < a.length j++) {
boolean flag = false
for (int k = 0 k < b.length k++) {
if (a[j] == b[k]) {
flag = true
break
}
}
if (flag) {
d[d.length - 1 - pos] = a[j]
pos++
} else {
d[b.length + count] = a[j]
count++
}
}
for (int q = 0 q < d.length q++) {
System.out.print(" " + d[q])
}
}
}
问题楼上已经说明了,我这里附上改过的代码
方法1:从第一个开始轮询,与后面所有比较,有相同的则相加,并去除相同元素;继续论需第二个,依次类推。方法2:将数组的值添加到map中,字母做key,值做value。添加前先判断元素是否存在,存在则将原有的值取出与现有值相加并更新。依次类推。最后将map转换成数组。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)