<剑指Offer>面试题66: 构建乘积数组
作者:
cb_guo | 来源:发表于
2019-02-26 20:25 被阅读0次
题目描述
- 给定一个数组
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]
题目解读
代码
class Solution {
public:
vector<int> multiply(const vector<int>& A) {
int length = A.size();
vector<int> B(length, 1);
for(int i=1; i < length; i++){
B[i] = B[i-1] * A[i-1];
}
int temp = 1;
// 在上一步,B[length-1]已经构建好了
for(int i=length-2; i >= 0; i--){
temp = temp * A[i+1];
B[i] = B[i] * temp;
}
return B;
}
};
总结展望
本文标题:<剑指Offer>面试题66: 构建乘积数组
本文链接:https://www.haomeiwen.com/subject/husayqtx.html
网友评论