Given an array of n integers where n > 1, nums, return an array output such that
output[i] is equal to the product of all the elements of nums except nums[i].
Solve it without division and in O(n).
For example, given [1,2,3,4], return [24,12,8,6].
用一个辅助数组,初始化为nums从右向左的乘积,然后从左向右保存nums的乘积,
两者的乘积就是最终数组。
public class Solution {
public int[] productExceptSelf(int[] nums) {
int[] result=new int[nums.length];
result[nums.length-1]=1;
for(int i=nums.length-2;i>=0;i--)
result[i]=result[i+1]*nums[i+1];
int left=1;
for(int i=0;i<nums.length;i++){
result[i]*=left;
left*=nums[i];
}
return result;
}
}