# find single repeating number from a big array

Upasana | May 05, 2019 | 1 min read | 167 views |

We have an array that contains large number of entries, all of them are unique except one that is repeating twice. We need to find that repeating number in a minimum time `O(n) time and O(1) space complexity`

``````Input: [1, 2, 2, 3, 4, 5, 6]
Output: 2``````

## Sum of the Elements

We can sum up all the elements of input array and compare it with the below output:

\\$1 + 2 + 3 + 4 + .. + n = (n * (n + 1)) / 2\\$

The difference between actual array sum and math sum will give us the single duplicate number.

In Kotlin, we can write the below program to find the single duplicate number:

Kotlin: print single duplicate number
``````val array = arrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 2)
val sum = array.sum()
val mathSum = ((array.size -1) * array.size) / 2
val duplicateNumber = sum - mathSum
println(duplicateNumber)``````
Program output

2

##### Top articles in this category:

###### Recommended books for interview preparation:
Book you may be interested in..
Book you may be interested in..