Product Except Self (Brute)

Medium~20 min

Given an array of integers nums, return an array result where result[i] is the product of all elements in nums except nums[i].

Use the two-pass prefix/suffix approach — do not use division.

The first pass computes a running product from the left (prefix products). The second pass computes a running product from the right (suffix products) and multiplies them together.

Examples

Example 1
Input: nums = [1, 2, 3, 4]
Output: [24, 12, 8, 6]
Explanation: For index 0: 2*3*4=24. For index 1: 1*3*4=12. For index 2: 1*2*4=8. For index 3: 1*2*3=6.
Example 2
Input: nums = [-1, 1, 0, -3, 3]
Output: [0, 0, 9, 0, 0]
Explanation: The zero at index 2 makes every other position 0. For index 2: (-1)*1*(-3)*3=9.

Constraints

  • 2 <= nums.length <= 10^5
  • -30 <= nums[i] <= 30
  • The product of any prefix or suffix fits in a 32-bit integer
  • Do not use division
Code
Ctrl+EnterRun|Ctrl+⇧+EnterSubmit
Output

Run your code to see results

Use Cmd+Enter to run