title: Algorithm to find duplicate in an array
body: <p>I have an assignment to create an algorithm to find duplicates in an array which includes number values. but it has not said which kind of numbers, integers or floats. I have written the following pseudocode:</p>
  
  <pre><code> FindingDuplicateAlgorithm(A) // A is the array
        mergeSort(A);
        for  int i &lt;- 0 to i&lt;A.length
             if A[i] == A[i+1]
                   i++
                 return  A[i]
             else
                   i++
  </code></pre>
  
  <p>have I created an efficient algorithm?
  I think there is a problem in my algorithm, it returns duplicate numbers several time. for example if array include 2 in two for two indexes i will have ...2, 2,... in the output. how can i change it to return each duplicat only one time?
  I think it is a good algorithm for integers, but does it work good for float numbers too?</p>