### View *Intersection of Two Arrays* on LeetCode

## Statistics

**Time Spent Coding**

5 minutes

**Time Complexity**

O(n + m) - Although multiple operations are mutating the input lists, none are nested, resulting in the O(n + m) time complexity.

**Space Complexity**

O(n + m) - The algorithm creates two sets of at most `n`

and `m`

elements, resulting in the O(n + m) space complexity.

**Runtime Beats**

79.72% of other submissions

**Memory Beats**

69.72% of other sumbissions

## Explanation

The steps to this algorithm are:

- Convert each input list into a set
- Execute the intersection function
- Under the hood it checks if each number from the set of nums1 is within the set of nums2
- If ever true, it begins creating a set of their intersection

## Data Structure Used

**Hash Table (Set) -** An unordered container of non-repeating values.

**Visual Examples**

An array being transformed into a set, click to view

## Solution

1
2
3

class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
return set(nums1).intersection(set(nums2))