构建乘积数组
来源:互联网 发布:扫描网络摄像头ip 编辑:程序博客网 时间:2024/06/08 08:39
Description:给定一个数组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[i]的值可以看做是一个主对角线值为1的矩阵中每一行的乘积。先算下三角中的连乘,在把上三角中的元素乘进去。
import java.util.ArrayList;public class Solution { public int[] multiply(int[] A) { int n = A.length; int[] b = new int[n]; if (n == 0) return b; b[0] = 1; for (int i = 1; i < n; i++) { b[i] = b[i -1] * A[i-1]; } int tmp = 1; for (int i = n - 1; i >= 0; i--) { b[i] *= tmp; tmp *= A[i]; } return b; }}
阅读全文
0 0
- 数组------构建乘积数组
- 数组:构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 52 - 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 牛客网 | 构建乘积数组
- 构建乘积数组
- 【模模糊糊】构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组 java
- 面试中经常被问到的问题
- TP5 比较运算符 查询表达式
- POJ-2395 Out of Hay
- 宏内核与微内核
- codeforces 855E 数位DP
- 构建乘积数组
- cocos2dx3.1.15.1打android包出现闪退
- 快速排序
- 51Nod-1615-跳跃的杰克
- MV3D -- 3D 点云表示
- 【安全牛学习笔记】w3af-截断代理
- D3力导向图及树状布局变换
- DB2 V9.7.4 下使用LISTAGG时报错,SQL0440N,SQLSTATE=42884解决办法
- On Date/Timestamp Value in A Distributed System