leetcode349 350 Intersection of Two Arrays & II

Posted yawenw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode349 350 Intersection of Two Arrays & II相关的知识,希望对你有一定的参考价值。

 1 """
 2 Intersection of Two Arrays
 3 Given two arrays, write a function to compute their intersection.
 4 Example 1:
 5 Input: nums1 = [1,2,2,1], nums2 = [2,2]
 6 Output: [2]
 7 Example 2:
 8 Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
 9 Output: [9,4]
10 """
11 """
12 由于问题中的元素是唯一的,所以我们只关心元素的有无,
13 那么我们可以使用set这个结构。
14 首先将nums1的所有数据存入set中,查找nums2中的数据是否在这个set中,
15 如果在的话,我们将这个元素存入一个list里面。
16 """
17 class Solution:
18     def intersection(self, nums1, nums2):
19         """
20         :type nums1: List[int]
21         :type nums2: List[int]
22         :rtype: List[int]
23         """
24         nums1 = set(nums1)
25         result = set()
26         for i in nums2:
27             if i in nums1:
28                 result.add(i)
29         return list(result)
30 
31 """
32 Given two arrays, write a function to compute their intersection.
33 Example 1:
34 Input: nums1 = [1,2,2,1], nums2 = [2,2]
35 Output: [2,2]
36 Example 2:
37 Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
38 Output: [4,9]
39 """
40 """
41 发现在leetcode349这个问题的基础上,
42 我们多加了记录元素个数的功能,我们可以使用dict实现它。
43 """
44 class Solution:
45     def intersect(self, nums1, nums2):
46         """
47         :type nums1: List[int]
48         :type nums2: List[int]
49         :rtype: List[int]
50         """
51         record, result = {}, []
52         for num in nums1:
53             record[num] = record.get(num, 0) + 1
54             # dict.get(key, default=None)返回指定键的值,如果值不在字典中返回默认值None
55             #{1: 2, 2: 2}
56         for num in nums2:
57             if num in record and record[num]:
58             # num in record 里而且 对应有重复值
59                 result.append(num)
60                 record[num] -= 1
61         return result

 

以上是关于leetcode349 350 Intersection of Two Arrays & II的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] 349 Intersection of Two Arrays & 350 Intersection of Two Arrays II

leetcode349 350 Intersection of Two Arrays & II

Leetcode 349. Intersection of Two Arrays

[leetcode]349.Intersection of Two Arrays

leetcode 350 easy

leetcode-350- 两个数组的交集 II