Find Duplicate in Array

Given a read only array of n + 1 integers between 1 and n, find one number that repeats in linear time using less than O(n) space and traversing the stream sequentially O(1) times.

Sample Input:

[3 4 1 4 1]

Sample Output:

1

If there are multiple possible answers ( like in the sample case above ), output any one.

If there is no duplicate, output -1

NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a doubt? Checkout Sample Codes for more details.
Start solving Find Duplicate in Array on Interview Code Editor
Sign Up
to access hints and editorial solutions for Find Duplicate in Array
12685 successful submissions.
Asked In:
  • Amazon
  • VMWare
  • Riverbed
Click here to start solving coding interview questions