剑指offer--面试题52:构建乘积数组
2016-09-28 16:22
337 查看
题目描述
给定一个数组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]。不能使用除法。python实现:
# -*- coding:utf-8 -*-
class Solution:
def multiply(self, A):
# write code here
n = len(A)
if n==0:
return []
b = [1]*n
tmpProd = 1
for i in range(1, n):
b[i] = A[i-1]*tmpProd
tmpProd = b[i]#tmpProd = A[i-1]*tmpProd
print b
tmpProd = 1
for i in range(n-2, -1, -1):
b[i] *= A[i+1]*tmpProd
tmpProd = A[i+1]*tmpProd
return b
相关文章推荐
- 剑指offer 面试题52 构建乘积数组
- 剑指offer——面试题52:构建乘积数组
- 【剑指Offer学习】【面试题52:构建乘积数组】
- 【剑指Offer】面试题52:构建乘积数组
- 剑指Offer面试题52:构建乘积数组 Java实现
- 【剑指Offer学习】【面试题52:构建乘积数组】
- 剑指offer - 面试题52:构建乘积数组
- 剑指offer 52 构建乘积数组
- 【剑指offer】面试题66:构建乘积数组
- 剑指offer 52题 【数组】 构建乘积数组
- 【剑指offer-解题系列(52)】构建乘积数组
- 剑指Offer 52题 构建乘积数组 Java版
- 剑指offer52 构建乘积数组
- 【剑指offer】题52:构建乘积数组
- 面试题52: 构建乘积数组
- 剑指offer——构建乘积数组
- [剑指offer]构建乘积数组
- 剑指Offer_51_构建乘积数组
- 剑指offer-51.构建乘积数组
- 剑指offer 构建乘积数组