牛骨文教育服务平台(让学习变的简单)
博文笔记

Java实现-数组剔除元素后的乘积

创建时间:2017-06-11 投稿人: 浏览次数:363


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;

    }
}


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。