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].
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.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.Input: [1,2,3]
Output: [6,3,2]
Explanation: answer[0]=2*3=6, answer[1]=1*3=3, answer[2]=1*2=2.2 <= nums.length <= 10^5-30 <= nums[i] <= 30Guaranteed no division operation.