from typing import List


def find_dup(numbers: List) -> int:
	"""
	Solution: Iterate through the list and store items in a set. When an item is found that already exists in the set
	return that item.
	Complexity:
		Time: O(n) - Iterate through our list once
		Space: O(n) - We could potentially store each item found
	"""
	numbers_seen = set()
	for num in numbers:
		if num in numbers_seen:
			return num
		numbers_seen.add(num)
	raise Exception("No duplicate found")