求算法 有两个长整型的数组A[100]和B[500],没有顺序。用最高效率的方法把两个数组中相同的数找出来,存入C[]中。求算法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 List list=new ArrayList();for(int i=0;i<A.length;i++){ for(int j=0;j<B.length;j++) { if(A[i]==B[j]) { list.add(A[i]); } }}Long[] C=new Long[list.size()];for(int i=0;i<list.size;i++){ C[i]=(Long)list.get(i);} public class TestNum{ public static Object[] getRepeatedNum(long[] l1,long[] l2){ Set<Long> set = new HashSet<Long>(); List<Long> list = new ArrayList<Long>(); for(int i = 0 ; i < l1.length; i ++){ set.add(l1[i]); } for(int i =0 ; i <l2.length;i ++){ long lon = l2[i]; if(set.contains(lon)){ list.add(lon); } } return list.toArray(); } public static void main(String[] args) { long[] l1 = new long[]{1,2,3,41,12}; long[] l2 = new long[]{3,4,5,12}; Object[] o = getRepeatedNum(l1, l2); for (int i = 0; i < o.length; i++) { System.out.println(o[i]); }}} 还有一个好的方法,利用Map的键不能重复性,达到存储数据。。 如果按循还次数计算,假设两个数组的长度分别为m ,n,那么1楼的是o(m*n);2楼的是o(n的平方)+o(m的平方)+(m与n中的最小值);4楼的是o(m+n);看上去是4楼的更快一点了 求大神帮助 lucene对xml检索问题 JSP中中文文件名不能弹出下载对话框的问题. 请教下如何使用JSP实现OA??需要那些知识储备? 数据库问题 jquery插件怎么用啊谁有视频连接发个 关于页面处理的问题。大家请进来帮帮我~~ 关于下载的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 那位大哥教我如何配置TOMCAT的SERVLET的位置??谢谢啊/ 一个关于response.sendRedirect()的问题!在线等待 ireport中detail自适应高度,如何定高打印横线 spring 中的AOP 问题
for(int i=0;i<A.length;i++)
{
for(int j=0;j<B.length;j++)
{
if(A[i]==B[j])
{
list.add(A[i]);
}
}
}Long[] C=new Long[list.size()];
for(int i=0;i<list.size;i++)
{
C[i]=(Long)list.get(i);
}
public static Object[] getRepeatedNum(long[] l1,long[] l2){
Set<Long> set = new HashSet<Long>();
List<Long> list = new ArrayList<Long>();
for(int i = 0 ; i < l1.length; i ++){
set.add(l1[i]);
}
for(int i =0 ; i <l2.length;i ++){
long lon = l2[i];
if(set.contains(lon)){
list.add(lon);
}
}
return list.toArray();
}
public static void main(String[] args) {
long[] l1 = new long[]{1,2,3,41,12};
long[] l2 = new long[]{3,4,5,12};
Object[] o = getRepeatedNum(l1, l2);
for (int i = 0; i < o.length; i++) {
System.out.println(o[i]);
}
}
}
看上去是4楼的更快一点了