構建乘積數組

題目描述

給定一個數組A[0,1,...,n-1],請構建一個數組B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。

 剛好分成兩部分求解

public class Solution {
   public int[] multiply(int[] A) {
        
        int len=A.length;
        int B[]=new int[len];
        B[0]=1;
        for(int i=1;i<len;i++){
            B[i]=B[i-1]*A[i-1];
        }
        int temp=1;
        for(int j=len-2;j>=0;j--){
            temp*=A[j+1];
            B[j]*=temp;
        }
        return B;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章