The challenge

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

Example 1:

Example 2:

Note:

  • Each element in the result should appear as many times as it shows in both arrays.
  • The result can be in any order.

This is a common array manipulation problem that’s similar to other Python challenges like counting smiley faces or getting the next biggest number with the same digits.

The solution in Python code

def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
    # create an `answer` list
    answer = []

    # loop through the first list
    for i in nums1:
        # check if the item is in the next list
        if i in nums2:
            # remove from the nums2 list
            nums2.remove(i)
            # add the answer to the `answer` list
            answer.append(i)

    # return our `answer` list
    return answer