剑指offer(48)-构建乘积数组
来源:互联网 发布:360软件客服电话 编辑:程序博客网 时间:2024/06/10 22:59
题目描述
给定一个数组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]。不能使用除法。
解题思路
分两步:
1. 计算前i-1个元素的乘积,及后N-1个元素的乘积分别保存在两个数组中。
2. 前后两个数组相乘。
代码
class Solution {public: vector<int> multiply(const vector<int>& A) { vector<int> vec; int sz=A.size(); if(sz==0) return vec; vec.push_back(1); for(int i=0;i<sz-1;i++) vec.push_back(vec.back()*A[i]); int tmp=1; for(int i=sz-1;i>=0;i--) { vec[i]=vec[i]*tmp; tmp=tmp*A[i]; } return vec; }};
0 0
- 剑指offer(48)-构建乘积数组
- 剑指offer(54):构建乘积数组
- 剑指offer--构建乘积数组
- 《剑指offer》构建乘积数组
- 剑指offer-构建乘积数组
- 剑指offer:构建乘积数组
- 剑指offer:构建乘积数组
- 剑指offer:构建乘积数组
- [剑指offer]构建乘积数组
- 剑指offer|构建乘积数组
- 《剑指offer》-构建乘积数组
- 剑指offer 构建乘积数组
- 构建乘积数组--剑指Offer
- 【剑指offer】构建乘积数组
- 《剑指offer》构建乘积数组
- 剑指offer-构建乘积数组
- 剑指offer--构建乘积数组
- 构建乘积数组 剑指offer
- windows 10 bash update xenial(16.04)
- npm -g默认安装地址
- java中的异常处理
- 周日呀继续跟雪峰老师搞git
- Android消息传递之EventBus 3.0使用详解
- 剑指offer(48)-构建乘积数组
- ESP8266使用详解
- html+css学习笔记(2)
- 对依赖注入,控制反转,反射的理解
- Maven in Android Eclipse中搭建Maven管理的Android程序
- Python用文件输入替换stdin,stdout
- HDU1247 Hat’s Words【Trie】
- 学校c#大作业在连接mysql数据库过程中遇到的坑们
- 使用远程线程来注入DLL