首页
学习
活动
专区
圈层
工具
发布

每天一道剑指offer-构建乘积数组

构建乘积数组

题目描述

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

代码语言:javascript
复制
public int[] multiply(int[] arr) {
}

分析

规律题:

代码语言:javascript
复制
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

已获授权

下一篇
举报
领券