java两个int数组判断不重复的值,有难度

比如数组A[1,6,3,1,8]数组B[1,3,6]要求取出1,8需求:三个数成为一个组合后要求出剩余两个的值,现在已知道两个数组,就是求出A数组中除了B数组中的组合剩余... 比如数组A[1,6,3,1,8] 数组B [1,3,6]

要求取出 1,8
需求:三个数成为一个组合后 要求出剩余两个的值,现在已知道两个数组,就是求出A数组中 除了B数组中的组合剩余的两个值
小弟的笨办法:

public static String intersection(int[] A, int[] B) {

Arrays.sort(A);
Arrays.sort(B);
String str1 = Arrays.toString(A);
String str2 = Arrays.toString(B);
str1 = str1.substring(1,str1.length()-1).replaceAll(", ", "");
str2 = str2.substring(1,str2.length()-1).replaceAll(", ", "");
str1 = str1.replace(str2, "");
return str1;
}
}
展开
 我来答
yugi111
2014-12-14 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
package test;

import java.util.Arrays;

public class MyTester
{
private static String resolve ( int[] A, int[] B )
{
String s1 = Arrays.toString (A).replaceAll ("\\s", "").replaceAll ("[\\[\\]]", ",");
for ( int i = 0; i < B.length; i++ )
{
if (s1.indexOf (B[i]) == -1)
{
s1 = s1.replaceFirst ("," + B[i] + ",", ",");
}
}
return s1.replaceAll ("^\\,|\\,$", "");
}

public static void main ( String[] args )
{
int[] A = { 1, 6, 3, 1, 8 };
int[] B = { 1, 3, 6 };
String s1 = resolve (A, B);
System.out.println (s1);

A = new int[] { 4, 3, 3, 3, 2 };
B = new int[] { 3, 3, 4 };
s1 = resolve (A, B);
System.out.println (s1);
}
}
追问
很感谢大神啊。thanks,比我写的好多了。。奉上小弟写的笨办法。
追答
还可以改进
51CTO学院
2015-12-13 · 中国最大的IT实战在线培训平台
51CTO学院
中国最大的IT实战在线教育培训平台。
向TA提问
展开全部
不重复的值就是求a和b数组的差集:
参考代码如下:
//求两个数组的差集
public static String[] minus(String[] arr1, String[] arr2) {
LinkedList<String> list = new LinkedList<String>();
LinkedList<String> history = new LinkedList<String>();
String[] longerArr = arr1;
String[] shorterArr = arr2;
//找出较长的数组来减较短的数组
if (arr1.length > arr2.length) {
longerArr = arr2;
shorterArr = arr1;
}
for (String str : longerArr) {
if (!list.contains(str)) {
list.add(str);
}
}
for (String str : shorterArr) {
if (list.contains(str)) {
history.add(str);
list.remove(str);
} else {
if (!history.contains(str)) {
list.add(str);
}
}
}

String[] result = {};
return list.toArray(result);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guifang0923
2014-12-14 · TA获得超过371个赞
知道小有建树答主
回答量:308
采纳率:100%
帮助的人:354万
展开全部
这么简单的题目都不会啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式