Find Duplicate in Array Asked in: Amazon VMWare Riverbed
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 Solution class Solution: # @param A : tuple of integers # @return an integer def repeatedNumber(self, A): l_A=len(A) s_A=set(A) d={} l_s=len(s_A) if l_A==l_s: return -1 for i in A: if i in d: d[i]+=1 else: ...