Можно создать дубликат:
Quickest way to find missing number in an array of numbersХитрый алгоритм вопрос
Входной сигнал: несортированная массив А [1, .., N], который содержит все, кроме одного из целых чисел в диапазоне от 0, .., n
Проблема заключается в том, чтобы определить недостающее целое число в O (n) времени. Каждый элемент A равен , представленному в двоичном формате, и единственной доступной операцией является бит функции (i, j), который возвращает значение j-го бита A [i] и принимает постоянное время.
Любые идеи? Я думаю, что какой-то алгоритм разделения и покоя был бы правильным, но я не могу придумать, что именно я должен делать. Заранее спасибо!
п (п + 1)/2 - sum;) – AraK
Если бит (i, j) является единственной доступной операцией, как вы предлагаете реализовать алгоритм разделения и покоя? –
@A. Рекс: возможный обман, который вы связали, не имеет такого же ограничения по инструкциям, поэтому я не думаю, что это обязательно обман. –