文章

349-intersection-of-two-arrays

Given two integer arrays nums1 and nums2, return an array of their intersection . Each element in the result must be unique and you may return the result in any order.

Example 1:

Input: nums1 = [1,2,2,1], nums2 = [2,2] Output: [2] Example 2:

Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4] Output: [9,4] Explanation: [4,9] is also accepted.

My solution:

Use dict data structure to count the occurence of every character of s, and then minus them when they occur in t.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution(object):
    def intersection(self, nums1, nums2):
        """
        :type nums1: List[int]
        :type nums2: List[int]
        :rtype: List[int]
        """
        shortSet = set(nums2) if len(nums1) > len(nums2) else set(nums1)
        longSet = set(nums2) if len(nums1) <= len(nums2) else set(nums1)

        intersectionArr = []
        for el in shortSet:
            if el in longSet:
                intersectionArr.append(el)
        return intersectionArr

Time Complexity: O(n) Space Complexity: O(n)

本文由作者按照 CC BY 4.0 进行授权