51、构建乘积数组

链接:https://www.nowcoder.com/practice/94a4d381a68b47b7a8bed86f2975db46?tpId=13&tqId=11204&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
来源:牛客网

题目描述
给定一个数组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.length==0){
            return A;
        }
        int[] B = new int[A.length];
        for(int i=0; i<B.length; i++){
            B[i]=product(A,i);
        }
        return B;
    }
    
    public int product(int[] A, int j){
        int ret = 1;
        for(int i=0; i<A.length; i++){
            if(i!=j){
                ret = ret*A[i];  
            }
        }
        return ret;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容