一个数组,如{3,7,3,7,4,6,5,5,7},求两两相加等于10的组合,如3+7=10,组合后的数字要排除,不能再组合,如上例只有3+7,3+7 ,4+6,5+5 符合要求。求java算法?
这。。。。好难呀。
我c#写的,你改用java写就行了。
简单成狗
foreach(int num in array_A)
{
int next_Num = 10 - num;
if(array_B.Contains(next_Num))
{
Consolo.Write(next_Num);//输出匹配项
array_B.Remove(next_Num);//删除,然后继续循环下一个。
}
}
这个意思你只要看懂,就很方便了。不用楼上这么麻烦
@Firen: 而且我不确定java的arrayList有Contains函数,所以用通用的操作索引的方式写了。
@Firen: 大神你够猛,我只是写了一个假代码,你竟然写出来了,而且我写的方法竟然都是真的有,我都佩服自己了