给定一个数组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; public class Solution { public int[] multiply(int[] A) { if(A==null || A.length == 0){ return null; } int[] B = new int[A.length]; int temp = 0; for (int i = 0; i < A.length; i++) { int res = 1; for (int j = 0; j < A.length; j++) { if( i == j){ temp = A[j];//临时变量存储A[j]的值,避免数组值的改变 A[j] = 1; res *= A[j]; A[j] = temp; }else { res *= A[j]; } } B[i] = res; } return B; } }

浙公网安备 33010602011771号