【JAVA】两个数组A1比A2多一个元素,剩余元素均相同,请问如何快速的找出A1中多出的这个元素?
现有两个数组A1和A2,其中A1中有10000个元素,A2中有9999个元素,这两个数组中的所有9999个元素均相同,A1中仅比A2中多一个元素,请问如何快速的找出A1中...
现有两个数组A1和A2,其中A1中有10000个元素,A2中有9999个元素,这两个数组中的所有9999个元素均相同,A1中仅比A2中多一个元素,请问如何快速的找出A1中多出的这个元素。
最好用java解决,谢谢! 展开
最好用java解决,谢谢! 展开
3个回答
展开全部
public static void main(String[] args) {
int[] A1=new int[]{1,2,3,10,11,12,15,200};
int[] A2=new int[]{1,2,3,10,12,15,11};
Arrays.sort(A1); //排序
Arrays.sort(A2); //排序
for (int i = 0; i < A2.length; i++) { //这里循环长度短的那个
if ( A2[i] != A1[i] ) {
System.out.println("if A1[i]=="+A1[i] );
break;
}else if (i==A2.length-1) {
System.out.println("else A1[i]=="+A1[i+1]);
}
}
}
我默认用的是int类型给你做的,你测试一下看!
int[] A1=new int[]{1,2,3,10,11,12,15,200};
int[] A2=new int[]{1,2,3,10,12,15,11};
Arrays.sort(A1); //排序
Arrays.sort(A2); //排序
for (int i = 0; i < A2.length; i++) { //这里循环长度短的那个
if ( A2[i] != A1[i] ) {
System.out.println("if A1[i]=="+A1[i] );
break;
}else if (i==A2.length-1) {
System.out.println("else A1[i]=="+A1[i+1]);
}
}
}
我默认用的是int类型给你做的,你测试一下看!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/**
* @param args
*/
public static void main(String[] args) {
//已知数组A1转集合1。
List<Integer> list1 = new ArrayList<Integer>(A1);
//已知数组A2转集合2。
List<Integer> list2 = new ArrayList<Integer>(A2);
list1.removeAll(list2);//或者 list2.removeAll(list1);总之,哪个作为比较标准的,放入括号内。
System.out.println(list2);// System.out.println(list1);
}
* @param args
*/
public static void main(String[] args) {
//已知数组A1转集合1。
List<Integer> list1 = new ArrayList<Integer>(A1);
//已知数组A2转集合2。
List<Integer> list2 = new ArrayList<Integer>(A2);
list1.removeAll(list2);//或者 list2.removeAll(list1);总之,哪个作为比较标准的,放入括号内。
System.out.println(list2);// System.out.println(list1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么类型的元素?类型不同方法差别可是很大的
更多追问追答
追问
题目中没说,应该默认整型就可以
追答
整型很简单,两个数组里的数分别求和,再把两个和求差
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询