Java實現-陣列剔除元素後的乘積
阿新 • • 發佈:2019-01-31
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; } }