《剑指offer》构建乘积数组

来源:互联网 发布:vba编程 编辑:程序博客网 时间:2024/06/05 12:30

题目:给定一个数组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]。不能使用除法。

解析:由于不能用除法,每一个i,都从A数组中j=0开始循环,j!=i,就累乘,然后给B[i]赋值

import java.util.ArrayList;public class Solution {    public int[] multiply(int[] A) {        int [] B = new int[A.length];        for(int i=0;i<B.length;i++){            int temp =1;            for(int j=0;j<A.length;j++){                 if(j!=i){                     temp*=A[j];                 }            }            B[i]=temp;        }        return B;    }}