1.java代码段A,B.其中A可能抛出异常,如何保证执行A后一定执行B.
2.有String数组A,B.A,B都很大,写段程序求A,B的交集,尽量快.
3.一队伍长100米,通讯员在队尾与队伍同时出发前进,通讯员追到队头时,马上掉头往回跑,当通讯员跑到队尾时,队伍刚好前进了100米.求通讯员跑过的路程,其中队伍与通讯员匀速.
4.....
7 个解决方案
#1
1. 把 B 放在 A 的 finally 里
2. 可以借用 KMP 的思想
3. 貌似用数学就可以解吧,莫非有什么等价的转换
2. 可以借用 KMP 的思想
3. 貌似用数学就可以解吧,莫非有什么等价的转换
#2
先贴前2个
1.try{A}catch{}finally{B}
2.
public class Intersection {
public static void main(String[] args) {
// TODO Auto-generated method stub
String [] A=new String[]{"one","two","three"};
String [] B=new String[]{"five","one","three"};
Set<String> intersectionElement=new HashSet<String>();
if(A==null||B==null||A.length<1||B.length<1)
System.out.println("没有交集");
List aList=Arrays.asList(A);
List bList=Arrays.asList(B);
for(int i=0;i<aList.size();i++){
if(bList.contains(aList.get(i)))
intersectionElement.add((String) aList.get(i));
}
//输出结果
Iterator<String> it=intersectionElement.iterator();
while(it.hasNext())
System.out.println(it.next());
}
}
1.try{A}catch{}finally{B}
2.
public class Intersection {
public static void main(String[] args) {
// TODO Auto-generated method stub
String [] A=new String[]{"one","two","three"};
String [] B=new String[]{"five","one","three"};
Set<String> intersectionElement=new HashSet<String>();
if(A==null||B==null||A.length<1||B.length<1)
System.out.println("没有交集");
List aList=Arrays.asList(A);
List bList=Arrays.asList(B);
for(int i=0;i<aList.size();i++){
if(bList.contains(aList.get(i)))
intersectionElement.add((String) aList.get(i));
}
//输出结果
Iterator<String> it=intersectionElement.iterator();
while(it.hasNext())
System.out.println(it.next());
}
}
#3
呀 不好意思 2 看错了 以为是String
没看到后边有个数组
数组的话 用hash吧
#4
第3题只要列出算式就可以了啊 编程不难啊
#5
1.finally/java.util.concurrent.*
2.hash最快
不过还是得具体问题具体分析
不适宜用hash的话
排序后归并
不过效率要差。。。
2.hash最快
不过还是得具体问题具体分析
不适宜用hash的话
排序后归并
不过效率要差。。。
#6
3. 就是数学问题
结果为 100*(sqr(2) + 1)
结果为 100*(sqr(2) + 1)
#7
没能明白标题!
#1
1. 把 B 放在 A 的 finally 里
2. 可以借用 KMP 的思想
3. 貌似用数学就可以解吧,莫非有什么等价的转换
2. 可以借用 KMP 的思想
3. 貌似用数学就可以解吧,莫非有什么等价的转换
#2
先贴前2个
1.try{A}catch{}finally{B}
2.
public class Intersection {
public static void main(String[] args) {
// TODO Auto-generated method stub
String [] A=new String[]{"one","two","three"};
String [] B=new String[]{"five","one","three"};
Set<String> intersectionElement=new HashSet<String>();
if(A==null||B==null||A.length<1||B.length<1)
System.out.println("没有交集");
List aList=Arrays.asList(A);
List bList=Arrays.asList(B);
for(int i=0;i<aList.size();i++){
if(bList.contains(aList.get(i)))
intersectionElement.add((String) aList.get(i));
}
//输出结果
Iterator<String> it=intersectionElement.iterator();
while(it.hasNext())
System.out.println(it.next());
}
}
1.try{A}catch{}finally{B}
2.
public class Intersection {
public static void main(String[] args) {
// TODO Auto-generated method stub
String [] A=new String[]{"one","two","three"};
String [] B=new String[]{"five","one","three"};
Set<String> intersectionElement=new HashSet<String>();
if(A==null||B==null||A.length<1||B.length<1)
System.out.println("没有交集");
List aList=Arrays.asList(A);
List bList=Arrays.asList(B);
for(int i=0;i<aList.size();i++){
if(bList.contains(aList.get(i)))
intersectionElement.add((String) aList.get(i));
}
//输出结果
Iterator<String> it=intersectionElement.iterator();
while(it.hasNext())
System.out.println(it.next());
}
}
#3
呀 不好意思 2 看错了 以为是String
没看到后边有个数组
数组的话 用hash吧
#4
第3题只要列出算式就可以了啊 编程不难啊
#5
1.finally/java.util.concurrent.*
2.hash最快
不过还是得具体问题具体分析
不适宜用hash的话
排序后归并
不过效率要差。。。
2.hash最快
不过还是得具体问题具体分析
不适宜用hash的话
排序后归并
不过效率要差。。。
#6
3. 就是数学问题
结果为 100*(sqr(2) + 1)
结果为 100*(sqr(2) + 1)
#7
没能明白标题!