63. Product of Array Except Self

MediumArrayArray

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].

The product of any prefix or suffix of nums is guaranteed to fit in a 32-bit integer. You must write an algorithm that runs in O(n) time and without using the division operation.

Input: An integer array nums of length n.

Output: Array where answer[i] = product of all elements except nums[i].

Examples

Example 1
Input: [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: [-1,1,0,-3,3]
Output: [0,0,9,0,0]
Explanation: Any position with 0 multiplied through gives 0 for all others. answer[2]=(-1)*1*(-3)*3=9.
Example 3
Input: [1,2,3]
Output: [6,3,2]
Explanation: answer[0]=2*3=6, answer[1]=1*3=3, answer[2]=1*2=2.

Constraints

Asked by

AppleAmazonMicrosoftBloombergGoogleMeta
Solve this problem in the editor →