У двухпроходного решения Product of Array Except Self дополнительная память O(1) без учёта результата. Если считать выходной массив, память O(n).
Какова сложность по памяти у решения задачи Product of Array Except Self и какие дополнительные переменные используются?
У двухпроходного решения Product of Array Except Self дополнительная память O(1) без учёта результата. Если считать выходной массив, память O(n).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
У двухпроходного решения Product of Array Except Self дополнительная память O(1) без учёта результата. Если считать выходной массив, память O(n).
Достаточно массива результата, накопителей prefix и suffix и индекса цикла. Первый проход сохраняет произведение слева, второй домножает справа. Если вместо этого создать отдельные массивы префиксов и суффиксов, дополнительная память будет O(n). При анализе обычно считают арифметические операции постоянными; для произвольно больших целых учитывается и размер чисел.