题目描述
给定一个数组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]。不能使用除法。
import java.util.ArrayList; /** * * @author gentleKay * 题目描述 * 给定一个数组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]。 * 不能使用除法。 * 用例: * [1,2,3,4,5] * 对应输出应该为: * [120,60,40,30,24] */ public class Main50 { public static void main(String[] args) { // TODO Auto-generated method stub int[] A = {1,2,3,4,5}; System.out.println(Main50.multiply(A)); } public static int[] multiply(int[] A) { ArrayList<Integer> array = new ArrayList<>(); for (int i=0;i<A.length;i++) { int sum = 1; for (int j=0;j<A.length;j++) { if (j == i) { continue; } sum = sum * A[j]; } array.add(sum); } int[] a = new int[array.size()]; for (int i=0;i<array.size();i++) { a[i] = array.get(i); System.out.println(a[i]); } return a; } }