public class Solution {
/**
* @param A: Given an integers array A
* @return: A Long array B and B[i]= A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1]
*/
public ArrayList<Long> productExcludeItself(ArrayList<Integer> A) {
// write your code
if(A.size()==0){
return null;
}
ArrayList<Long> C=new ArrayList<Long>();
ArrayList<Long> D=new ArrayList<Long>();
C.add((long) 1);
Long temp1=(long)1;
for(int i=0;i<A.size()-1;i++){
temp1*=A.get(i);
C.add(temp1);
}
Long temp2=(long)1;
D.add((long) 1);
for(int i=A.size()-1;i>0;i--){
temp2*=A.get(i);
D.add(temp2);
}
ArrayList<Long> B=new ArrayList<Long>();
for(int i=0;i<A.size();i++){
B.add(C.get(i)*D.get(A.size()-i-1));
}
return B;
}
}