2014腾讯校园招聘笔试题

1、A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效。

方法1:用java中的HashSet(也可以HashMap)哈希后遍历。

 1 import java.util.HashMap;
 2 import java.util.HashSet;
 3 
 4 public class HashStudy {
 5 
 6     /**
 7      * @param args
 8      */
 9     public static void main(String[] args) {
10         // TODO Auto-generated method stub
11 
12         final int N = 10;
13         HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
14         HashSet<Integer> set = new HashSet<Integer>();
15         int arr[] = new int[N];
16         int arr2[] = new int[N];
17         for (int i = 0; i < N; i++) {
18             arr[i] = i;
19             arr2[i] = i + 5;
20             set.add((Integer) i);
21             map.put((Integer) i, (Integer) i);
22         }
23         for (int i = 0; i < N; i++) {
24             if (map.containsValue(arr2[i])) {
25                 System.out.println(arr2[i]);
26             }
27         }
28         for (int i = 0; i < N; i++) {
29             if (set.contains(arr2[i])) {
30                 System.out.println(arr2[i]);
31             }
32         }
33     }
34 
35 }

方法2:未完待续。

原文地址:https://www.cnblogs.com/nannanITeye/p/3343638.html