用友烟草笔试 面试题,新鲜出炉

时间:2021-11-05 14:39:59

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


先贴前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());
}
}

#3


引用 1 楼 keeya0416 的回复:
1. 把 B 放在 A 的 finally 里
2. 可以借用 KMP 的思想
3. 貌似用数学就可以解吧,莫非有什么等价的转换

呀 不好意思  2 看错了 以为是String
没看到后边有个数组
数组的话 用hash吧

#4


第3题只要列出算式就可以了啊 编程不难啊

#5


1.finally/java.util.concurrent.*
2.hash最快
不过还是得具体问题具体分析
不适宜用hash的话
排序后归并
不过效率要差。。。

#6


3. 就是数学问题
结果为  100*(sqr(2) + 1)

#7


没能明白标题!

#1


1. 把 B 放在 A 的 finally 里
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());
}
}

#3


引用 1 楼 keeya0416 的回复:
1. 把 B 放在 A 的 finally 里
2. 可以借用 KMP 的思想
3. 貌似用数学就可以解吧,莫非有什么等价的转换

呀 不好意思  2 看错了 以为是String
没看到后边有个数组
数组的话 用hash吧

#4


第3题只要列出算式就可以了啊 编程不难啊

#5


1.finally/java.util.concurrent.*
2.hash最快
不过还是得具体问题具体分析
不适宜用hash的话
排序后归并
不过效率要差。。。

#6


3. 就是数学问题
结果为  100*(sqr(2) + 1)

#7


没能明白标题!