博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指offer系列40:构建乘积数组
阅读量:5165 次
发布时间:2019-06-13

本文共 841 字,大约阅读时间需要 2 分钟。

这个题我开始没看懂,呜呜呜……

解释一下题目,意思就是有一个数组A和一个数组B。B的每一项等于A[0]*A[1]……A[i-1]*a[i+1]……A[n-1];

根据题目的意思,A也有n-1项,因此看B的计算表达式除了中间A[i-1]*a[i+1]这里少了一个A[i]没有相乘之外别的项都乘了。因此就是说B[i]就是对A的每一项相乘除了A[i]。

理解了题目就好做了。

1 class Solution { 2 public: 3     vector
multiply(const vector
& A) { 4 int len = A.size(); 5 vector
res(len); 6 if (A.empty()) 7 return res; 8 res[0] = 1; 9 for (int i = 1; i < len; i++)10 {11 res[i] = res[i - 1] * A[i - 1];//计算C[i]12 }13 int temp = 1;14 for (int i = len - 2; i >= 0; --i)15 {16 temp *= A[i + 1];//计算D[i]17 res[i] *= temp;//计算最终的数组B[i]=C[i]*D[i]18 }19 return res;20 }21 };

 

转载于:https://www.cnblogs.com/neverland0718/p/11238312.html

你可能感兴趣的文章
CentOS 网络设置修改
查看>>
二分图
查看>>
python小白-day5 random模块
查看>>
Git Tips
查看>>
2019春第一次课程设计报告
查看>>
msp430项目编程13
查看>>
【IIS】IIS 7.0/7.5 绑定
查看>>
[SQL] 命令远程恢复数据库
查看>>
用Python3实现的Mycin专家系统简单实例
查看>>
TortoiseSVN tutorial
查看>>
poj-2376 Cleaning Shifts (排序+贪心)
查看>>
mssql 创建触发器
查看>>
2.python数据结构的性能分析
查看>>
jquery操作select(取值,设置选中)
查看>>
在Android中自定义捕获Application全局异常,可以替换掉系统的强制退出对话框(很有参考价值与实用价值)...
查看>>
1.开发准备
查看>>
centos su命令
查看>>
CLR:基元类型、引用类型和值类型
查看>>
dubbo序列化hibernate.LazyInitializationException could not initialize proxy - no Session懒加载异常的解决...
查看>>
学会分享和交流
查看>>