Это действительно зависит от интервьюера, и то, что они считают «правильным». Если бы это был я, я бы подумал, что (n << 2) + 4 были аккуратными, но с другой стороны, я бы не хотел видеть это в своем коде. Требуется больше внимания для поддержания, и есть хороший шанс, что хороший оптимизатор может сделать такую же хорошую работу. </p>
Я думаю, что фраза «выполнить операцию эффективно», вероятно, является нашей подсказкой о том, что интервьюер искал быстрые вычисления. Это все еще O (n), но давайте не будем забывать, что когда вы сравниваете два алгоритма O (n), коэффициенты снова начинают иметь значение.