Код Senior Префиксные суммы обновлено

Произведение всех, кроме себя

Условие

Массив, где на i-м месте произведение всех элементов, кроме i-го. Деление использовать нельзя.

Примеры

productExceptSelf([1, 2, 3, 4]) // [24, 12, 8, 6]
productExceptSelf([0, 1]) // [1, 0]
productExceptSelf([0, 0]) // [0, 0]

Как подойти

Запрет деления здесь не каприз: с нулём в массиве деление не работает вовсе. Два прохода с накоплением префикса и суффикса дают O(n) времени и O(1) дополнительной памяти, если не считать ответ.

Подсказки: 2
  1. Ответ для i - это произведение всего слева на произведение всего справа.
  2. Два прохода: слева направо и справа налево.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.