# Given an array "a" that contains only numbers in the range from 1 to a.length, find the first duplicate number for which the second occurrence has the minimal index. In other words, if there are more than 1 duplicated numbers, return the number for which the second occurrence has a smaller index than the second occurrence of the other number does. If there are no such elements, return -1

def first_duplicate(a):
	first_occurence = {}

	for i in range(len(a)):
		if a[i] not in first_occurence:
			first_occurence[a[i]] = 1
		else:
			return a[i]
	return -1

Write first duplicate method