1:问题描述

Problem Link 求两个数组中的交集(输出为数组,并且不要求检查数组顺序)

2:解题思路

利用双set解题

3:Java代码

  1. public static int[] intersection(int[] nums1, int[] nums2) {
  2. if (nums1 == null || nums2 == null) {
  3. return new int[] {};
  4. }
  5. Set<Integer> set = new HashSet<>();
  6. Set<Integer> set2 = new HashSet<>();
  7. for (int x = 0; x < nums1.length; x++) {
  8. set.add(nums1[x]);
  9. }
  10. for (int x = 0; x < nums2.length; x++) {
  11. set2.add(nums2[x]);
  12. }
  13. List<Integer> list = new ArrayList<>();
  14. Iterator<Integer> it = set.iterator();
  15. while (it.hasNext()) {
  16. Integer temp = it.next();
  17. if (set2.contains(temp)) {
  18. list.add(temp);
  19. }
  20. }
  21. int[] nums3 = new int[list.size()];
  22. for (int x = 0; x < list.size(); x++) {
  23. nums3[x] = list.get(x);
  24. }
  25. return nums3;
  26. }

4:Go版本代码