[编程题]构建乘积数组

构建乘积数组

http://www.nowcoder.com/questionTerminal/94a4d381a68b47b7a8bed86f2975db46


如上图所示先根据offer上的算法,先计算下三角的乘积,再计算上三角的乘积并且拼接

import java.util.ArrayList;
public class Solution {
    public int[] multiply(int[] A) {
        int length=A.length;
        int[] B=new int[length];
        //边界
        if(A==null||A.length<=1){
            return null;
        }
        //计算下三角
        //初始化第一行
        B[0]=1;
        for(int i=1;i<length;i++){
            B[i]=B[i-1]*A[i-1];
    }
        //计算上三角
        //初始化最后一行
        int temp=1;
        for(int i=length-1;i>=0;i--){
            B[i]=temp*B[i];
            temp=A[i]*temp;
        }
        return B;
}
}
全部评论
计算上三角不是很懂,大佬可以解释一下吗?
点赞 回复 分享
发布于 2020-09-12 10:05

相关推荐

10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
10 收藏 评论
分享
牛客网
牛客企业服务