Це буде найкоротша відповідь у моєму житті SO: таблиця пошуку.
Очевидно, мені потрібно трохи пояснити: "якщо у вас достатньо пам'яті, з якою можна пограти", означає, що у нас є вся потрібна пам'ять (не зважаючи на технічну можливість). Тепер вам не потрібно зберігати таблицю пошуку більше, ніж байт або два. Хоча технічно це буде Ω (log (n)), а не O (1), просто зчитування потрібного вам числа є Ω (log (n)), тож якщо це проблема, то відповідь неможлива - що ще коротше.
Якої з двох відповідей вони чекають від вас на співбесіді, ніхто не знає.
Існує ще одна хитрість: в той час як інженери можуть взяти число і поговорити про Ω (log (n)), де n - це число, вчені-комп’ютерники скажуть, що насправді ми повинні вимірювати час роботи як функцію довжини введення , отже, те, що інженери називають Ω (log (n)), насправді є Ω (k), де k - кількість байтів. І все-таки, як я вже говорив раніше, просто читання числа дорівнює Ω (k), тож ми не можемо зробити краще цього.