构建乘积数组
来源:互联网 发布:明年今日 知乎 编辑:程序博客网 时间:2024/05/22 12:55
题目描述
给定一个数组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个位置乘上第i个数后面数的乘积。
class Solution {public: vector<int> multiply(const vector<int>& A) { vector<int> ans; int len = A.size(); if (len == 0) return ans; ans.push_back(1); for (int i = 0; i < len - 1; ++i) { ans.push_back(ans.back() * A[i]); } int temp = 1; for (int i = len - 1; i >= 0; --i) { ans[i] = ans[i] * temp; temp = temp * A[i]; } return ans; }};
阅读全文
0 0
- 数组------构建乘积数组
- 数组:构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 52 - 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 牛客网 | 构建乘积数组
- 构建乘积数组
- 【模模糊糊】构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组
- 构建乘积数组 java
- 迭代算法
- JVM基础
- Construct 2 技(胡)术(乱)指(操)导(作)
- select
- linux虚拟机安装步骤
- 构建乘积数组
- Integer Break
- centos 安装 python3.x
- 线段树 bzoj2957 楼房重建
- jQuery获取第一个子元素
- 博客已搬家
- BZOJ1266: [AHOI2006]上学路线route
- 内存分析
- Codeforces 555C Case of Chocolate