Когда учил вышку в универе часто ловил себя на мысли, что не хватает интересных задачек, тех что были в школе, решая которые приходилось думать головой, а не следовать шагам какого-то сложного алгоритма, в конце получив правильный ответ.
Так же сейчас не хватает интересных задачек по программированию, например как были по ассемблеру, когда учился у Олега Романовского.
Решил не пропускать интересные задачки и решать их в свободное время.
И так первая задача звучит так (услышал от Тумара Максима):
Дан массив размера N из целых чисел, принимающих значения от 1 до M, при этом одно
число в этом массиве повторяется два раза. Найти это число за время O(N).
Решение ниже.