剑指Offer系列-面试题52:构建乘积数组
来源:互联网 发布:简历制作软件 app 编辑:程序博客网 时间:2024/06/05 08:39
题目:给定一个数组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]。不能使用除法。
思路:既然不能乘所在坐标的值,那么就分开,先乘i左边的数,知道乘到i,然后乘i右边的。
代码:
public int[] multiply(int[] A) {int length = A.length;int[] b = new int[length];if (length < 2) {return b;}b[0] = 1;// 先乘i左边的数for (int i = 1 ; i < length ; i++) {b[i] = b[i - 1] * A[i - 1];}int tmp = 1;// 再乘i右边的数for (int i = length - 2 ; i >= 0 ; i--) {tmp *= A[i + 1];b[i] *= tmp;}return b;}
0 0
- 剑指Offer系列-面试题52:构建乘积数组
- 《剑指Offer》学习笔记--面试题52:构建乘积数组
- 【剑指Offer学习】【面试题52:构建乘积数组】
- 剑指offer-面试题52:构建乘积数组
- 剑指offer--面试题52:构建乘积数组
- 剑指Offer面试题52:构建乘积数组 Java实现
- 剑指offer-面试题52-构建乘积数组
- 剑指offer 面试题52 构建乘积数组
- 【剑指Offer】面试题52:构建乘积数组
- 【剑指Offer学习】【面试题52:构建乘积数组】
- 剑指offer——面试题52:构建乘积数组
- 【剑指offer】面试题66:构建乘积数组
- 【剑指offer-解题系列(52)】构建乘积数组
- 面试题52:构建乘积数组
- 面试题52: 构建乘积数组
- 面试题52:构建乘积数组
- 《剑指offer》:[52]构建乘积数组
- 剑指Offer 52 构建乘积数组
- spring抛出BeanCreationException之@Autowired,@Qualifier
- 内存对齐
- POJ 3311 (状态转移dp)
- 查找字符串中出现li的次数!
- 分段函数
- 剑指Offer系列-面试题52:构建乘积数组
- 配置Linux下vim自动缩进等功能
- 移动端常见问题总结
- 面试题
- tensorflow入门Day3-TensorBoard
- 二叉排序树的实现与输出
- iptables的基本概念和数据包流程图(二)
- Android系统CPU使用率获取(附java代码)
- Android的蓝牙实例代码中找不到REQUEST_ENABLE_BT