Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Category:

задачка (программистское)

Задачка для программистов и интересующихся. Наверняка известная, но мне в такой форме не встречалась, и понравилась.

Дан массив размером N, в нем есть только числа от 1 до N-1 (необязательно все, необязательно по порядку). Очевидно, какие-то из них повторяются. Найти какое-то число, которое встречается в массиве больше одного раза.

Суть в том, чтобы сделать это с как можно лучшей сложностью времени и места. Скажем, тривиально сделать это за O(N) времени с O(N) места. Можно лучше. Исходный массив не бесплатный: его можно менять, но это считается в бюджет места.

Update: все скрытые комментарии с правильными решениями раскрываются. Не заглядывайте в комментарии, если хотите дальше думать сами - там есть много правильных решений. Оптимальное решение этой проблемы выполняет задачу за O(N) времени, O(1) места.
Subscribe

  • AoC

    Напоминаю, что сегодня начинается Advent of Code - испытание в виде задачек на программирование, которые даются в течение 25 первых дней декабря.…

  • странное поведение запятой в ночь преступления

    Продолжение и окончание истории об испорченных данных, начало см. https://avva.livejournal.com/3705558.html Испорченные данные возвращаются! В…

  • о порче данных

    (для программистов и сочувствующих) Слетали летом в командировку в Америку, получили много экспериментальных данных разных людей, привезли обратно…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 158 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →

  • AoC

    Напоминаю, что сегодня начинается Advent of Code - испытание в виде задачек на программирование, которые даются в течение 25 первых дней декабря.…

  • странное поведение запятой в ночь преступления

    Продолжение и окончание истории об испорченных данных, начало см. https://avva.livejournal.com/3705558.html Испорченные данные возвращаются! В…

  • о порче данных

    (для программистов и сочувствующих) Слетали летом в командировку в Америку, получили много экспериментальных данных разных людей, привезли обратно…