В недавнем интервью меня спросили:
Найдите средний элемент отсортированного списка неизвестной длины, начиная с первой позиции.
Я ответил следующим образом:
Имейте 2 счетчика позиции:
счетчик1 Counter2
Увеличить счетчик1 на 1 и счетчик2 на 2. Когда счетчик 2 достигнет конца счетчика 1, он будет посередине. Я чувствую, что это не эффективно, потому что я пересматриваю узлы, которые я уже видел. В любом случае, существует ли более эффективный алгоритм?