title: Finding the first duplicate of an array
body: <p>I've decided to learn python and I use CodeFight to train. The first Interview Practice exercice is about finding the first duplicate of an array and returning it or retruning -1 if there isn't any. This is the code I wrote:</p>
  
  <pre><code>def firstDuplicate(a):
  b=[]
  print(len(a))
  for i in range(len(a)):
      if a[i] in b:
          return(a[i])
      elif a[i] not in b and i == (len(a)-1):
          return(-1)
      else:
          b.append(a[i])
  </code></pre>
  
  <p>I pass all the tests except the last 3. I says that my program takes longer than 4000ms to execute. I guess the array is very long and the duplicate is at the end. How can I reduce this execution time ? Thanks in advance.</p>