diff --git a/product_of_array_except_self.py b/product_of_array_except_self.py index 7cec5f2..22e84e8 100644 --- a/product_of_array_except_self.py +++ b/product_of_array_except_self.py @@ -2,11 +2,18 @@ def product_except_self(nums): n = len(nums) result = [1] * n + left_products = [1] * n + right_products = [1] * n + + for i in range(1, n): + left_products[i] = left_products[i - 1] * nums[i - 1] + + for i in range(n - 2, -1, -1): + right_products[i] = right_products[i + 1] * nums[i + 1] + for i in range(n): - for j in range(n): - if i != j: - result[i] *= nums[j] - + result[i] = left_products[i] * right_products[i] + return result # Test the function with the example input