Это будет самый короткий ответ в моей жизни SO: справочная таблица.
Очевидно, мне нужно объяснить немного: "если у вас достаточно памятииграть "значит", у нас есть вся необходимая память (не говоря уже о технической возможности).Теперь вам не нужно хранить таблицу поиска для более чем одного байта или двух.Хотя технически это будет Ω (log (n)), а не O (1), просто для чтения нужного вам числа будет Ω (log (n)), поэтому, если это проблема, то ответ будет невозможно - что еще короче.
Какой из двух ответов они ожидают от вас на собеседовании, никто не знает.
Есть еще одна хитрость: пока инженерыможет взять число и поговорить о Ω (log (n)), где n - это число, компьютерные ученые скажут, что на самом деле мы должны измерить время работы как функцию длины входа,поэтому то, что инженеры называют Ω (log (n)), на самом деле является Ω (k), где k - это число байтов.Тем не менее, как я уже говорил, просто читать число - это Ω (k), поэтому мы никак не можем добиться большего, чем это.