Product of Array Except Self — C++ Coding Problem
Difficulty: medium | Category: array
Problem Description
Given an integer array `nums`, return an array `answer` such that `answer[i]` is equal to the product of all elements of `nums` except `nums[i]`. You must write an algorithm that runs in **O(n)** time and without using the division operation. Hint: Build a prefix-products array left to right, then multiply with suffix products right to left in a single pass.
Examples
Example 1
Input: nums = [1, 2, 3, 4]
Output: [24, 12, 8, 6]
Explanation: 24=2×3×4, 12=1×3×4, 8=1×2×4, 6=1×2×3.
Example 2
Input: nums = [-1, 1, 0, -3, 3]
Output: [0, 0, 9, 0, 0]