Paths Subjects Questions Quizzes Pricing Search
Intermediate Open Pro

Product Array Without Current Element

Given an integer array nums of length n, return an array answer such that answer[i] is equal to the product of all the elements of nums except nums[i].

You must write an algorithm that runs in O(n) time and without using the division operation (division breaks down or requires special-casing when the array contains a zero).

Example 1

Input: nums = [1, 2, 3, 4]
Output: [24, 12, 8, 6]
Explanation: answer[0] = 2*3*4 = 24, answer[1] = 1*3*4 = 12,
answer[2] = 1*2*4 = 8, answer[3] = 1*2*3 = 6.

Example 2

Input: nums = [-1, 1, 0, -3, 3]
Output: [0, 0, 9, 0, 0]

Constraints

  • 2 <= len(nums) <= 10^5
  • -30 <= nums[i] <= 30
  • The product of any prefix or suffix of nums fits in a 32-bit signed integer.

Try to solve it with O(1) extra space, not counting the output array.

Share this question

← Back to Prefix Sums practice

We use cookies for product analytics to improve OmniAtlas. See our Privacy Policy.