构建乘积数组
题目描述
给定一个数组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;
}
}

浙公网安备 33010602011771号