当前位置: 首页 > 后端技术 > Java

JZ-051-构造一个乘积数组

时间:2023-04-01 20:40:52 Java

构造一个乘积数组题目描述给定一个数组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]。不能使用除法。(注:规定B[0]=A[1]A[2]...A[n-1],B[n-1]=A[0]A[1]...A[n-2];)对于A长度为1的情况,B没有意义,无法构造,所以这种情况不会存在。主题链接:构建产品数组代码/***标题:构建产品数组*标题描述*给定一个数组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]。不能使用除法。*(注:规定B[0]=A[1]*A[2]*...*A[n-1],B[n-1]=A[0]*A[1]*...*A[n-2];)*对于A的长度为1的情况,B是无意义的,所以无法构造,所以这种情况不会存在。*问题链接:*https://www.nowcoder.com/practice/94a4d381a68b47b7a8bed86f2975db46?tpId=13&&tqId=11204&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking*/publicclassJz51{publicint[]multiply(int[]A){intn=A.length;int[]B=新的int[n];for(inti=0,product=1;i=0;product*=A[i],i--){/*从右到左相乘*/B[i]*=product;}返回B;}publicstaticvoidmain(String[]args){Jz51jz51=newJz51();int[]A=newint[]{1,2,3,4,5,6};int[]结果=jz51.multiply(A);for(intnum:result){System.out.print(num+"");}}}【每日留言】今天又是练级打怪的一天,加油。