Решение задачи
Алгоритм решения задачи:
Даны числа [2, 3, 4, 5], относительно третьего числа 4, произведение массива, кроме 4, равно 2*3*5, которое состоит из двух частей: слева 2*3 и справа 5. Произведение лево*право . Мы можем получить левые и правые:
Числа: 2 3 4 5
Слева: 2 2*3 2*3*4
Права: 3*4*5 4*5 5
Давайте заполним пустое значение 1:
Числа: 2 3 4 5
Слева: 1 2 2*3 2*3*4
Права: 3*4*5 4*5 5 1
Мы можем вычислить левые и правые в 2 циклах. Временная сложность O(n).
Сохраняем левые значения в массиве результатов. Если мы выделим новый массив для прав. Пространственная сложность O(n). Чтобы сделать это O (1), нам просто нужно сохранить его в переменной, которая находится прямо в коде.
