• LeetCode 349. Intersection of Two Arrays (两个数组的相交)


    Given two arrays, write a function to compute their intersection.

    Example:
    Given nums1 = [1, 2, 2, 1]nums2 = [2, 2], return [2].

    Note:

    • Each element in the result must be unique.
    • The result can be in any order.

    题目标签:Hash Table

      题目给了我们两个 array, 让我们找到在两个array 中重复的数字。

      利用HashSet,把nums1 的数字都存入set1;

      遍历nums2, 把nums2 与 set1 中重复的数字,存入HashSet intersect中;

      最后遍历intersect 把数字存入 res[] 返回。

    Java Solution:

    Runtime beats 71.41% 

    完成日期:06/05/2017

    关键词:HashSet

    关键点:利用两个HashSet

     1 class Solution 
     2 {
     3     public int[] intersection(int[] nums1, int[] nums2) 
     4     {
     5         HashSet<Integer> set1 = new HashSet<>();
     6         HashSet<Integer> intersect = new HashSet<>();
     7         int[] res;
     8         int pos = 0;
     9         
    10         // store nums1 element into set1
    11         for(int n: nums1)
    12             set1.add(n);
    13 
    14         
    15         // store intersect element into intersect
    16         for(int n: nums2)
    17         {
    18             if(set1.contains(n))
    19                 intersect.add(n);
    20         }
    21         
    22         res = new int[intersect.size()];
    23         
    24         
    25         for(Integer n: intersect)
    26             res[pos++] = n;
    27 
    28         
    29         return res;
    30     }
    31 }

    参考资料:N/A

    LeetCode 题目列表 - LeetCode Questions List

  • 相关阅读:
    HDU 4285
    Codeforces 242C
    Codeforces 811C
    Codeforces 883H
    Codeforces 371D
    Codeforces 926E
    牛客算法周周练17 解题报告
    牛客算法周周练17D
    牛客算法周周练17C
    牛客算法周周练17A
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/7796640.html
Copyright © 2020-2023  润新知