Решение задачи

Решение задачи


Алгоритм решения задачи:

Даны числа [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), нам просто нужно сохранить его в переменной, которая находится прямо в коде.



Report Page