4. 238. Product of Array Except Self

Time: O(n) Space: O(1)

var productExceptSelf = function(nums) {
    const products = new Array(nums.length).fill(1);

    for (let i = 1; i < nums.length; i++) {
        products[i] = nums[i - 1] * products[i - 1];
    }

    let acc = 1;
    for (let i = nums.length - 1; i >= 0; i--) {
        products[i] = products[i] * acc;
        acc = acc * nums[i]; 
    }

    return products;
};

Time: O(n)

Space: O(n)

Last updated