Самый быстрый способ найти 2 пропущенных числа в массиве

Этот вопрос существует только из чистого любопытства. Не домашнее задание.

Найдите самый быстрый способ найти два пропущенных числа в массиве 1..n

Итак, В связанном сообщении: Самый быстрый способ найти пропущенное число в массиве чисел Я обнаружил, что это можно сделать довольно быстро, суммируя и вычитая общую сумму.

а как насчет двух чисел?

Итак, у нас есть следующие варианты:

  1. Последовательный поиск
  2. Суммирование элементов, вычитание из общего количества для всех элементов из 1..n, затем поиск всех возможных вариантов.

Что-нибудь еще? Возможно ли решение O (n)? Я нашел это в рубиновом разделе на одном из веб-сайтов, но рассматривается любой язык (если нет каких-либо конкретных вещей для языка)

11
задан Community 23 May 2017 в 12:33
поделиться