给定一个数组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 int[] multiply(int[] arr) {
}
规律题:
public int[] multiply(int[] arr) { if(arr == null || arr.length == 0){ return arr; } int len = arr.length; int[] arr1 = new int[len], arr2 = new int[len]; arr1[0] = 1; arr2[len - 1] = 1; for(int i = 1 ; i < len ; i++){ arr1[i] = arr1[i - 1] * arr[i - 1]; arr2[len - 1 - i] = arr2[len - i] * arr[len - i]; } int[] res = new int[len]; for(int i = 0 ; i < len ; i++){ res[i] = arr1[i] * arr2[i]; }
return res;}
出自:http://www.zhenganwen.top
已获授权