【剑指offer】构建乘积数组

原创 2018年04月16日 12:57:26

题目描述

给定一个数组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]。不能使用除法。

//B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]
//从左到右算 B[i]=A[0]*A[1]*...*A[i-1]
//从右到左算B[i]*=A[i+1]*...*A[n-1]

# -*- coding:utf-8 -*-
class Solution:
    def multiply(self, A):
        # write code here
        if not A:
            return 
        length = len(A)
        alist = [1] * length
        for i in range(1, length):
            alist[i] = alist[i-1] * A[i-1]
        tmp = 1
        for i in range(length-2,-1,-1):
            tmp = tmp*A[i+1]
            alist[i] *= tmp
        return alist
    

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38111819/article/details/79954113

《剑指offer》构建乘积数组

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】 题目链接:http://www.nowcoder.com/p...
  • libin1105
  • libin1105
  • 2015-09-13 15:42:53
  • 1139

剑指offer--构建乘积数组

题目描述 给定一个数组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]。不...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-17 14:28:41
  • 1828

【Java实现】剑指offer52--构建乘积数组

题目:  给定一个数组 A[0,1,...,n-1 ],请构建一个数组 B[0,1,...,n-1]     。 其中 B 中的元素 B[i]=A[0]∗ A[1] ∗...∗ A[i−1]∗A[i...
  • Rebirth_Love
  • Rebirth_Love
  • 2016-06-08 13:08:43
  • 716

【剑指Offer】面试题52:构建乘积数组

一:题目描述 给定一个数组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...
  • u010059070
  • u010059070
  • 2017-07-05 10:46:15
  • 92

剑指offer——构建乘积数组

题目描述:给定一个数组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]。不能使用除法。思路:把前半部分...
  • sbq63683210
  • sbq63683210
  • 2016-07-20 14:56:05
  • 677

剑指Offer 52题 构建乘积数组 Java版

package test; public class Multiply { public static void multiply(int[] array1, int[] array2){ i...
  • yuhushangwei
  • yuhushangwei
  • 2016-10-04 03:05:15
  • 242

剑指Offer-66:构建乘积数组

给定一个数组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]。不能使用除法...
  • Koala_Tree
  • Koala_Tree
  • 2018-03-28 17:02:54
  • 21

66、构建乘积数组

public class Solution { public int[] multiply(int[] A) { if(A.length
  • gongdileidechouzhu
  • gongdileidechouzhu
  • 2018-03-22 20:53:54
  • 5

剑指offer-面试题52-构建乘积数组

package case52_ArrayConstruction; /** * 题目:给定一个数组A[0,1,2,...,N-1],请构建一个数组B[0,1,2,...,N-1],其中B中的元素:...
  • VIP_WangSai
  • VIP_WangSai
  • 2017-05-02 10:34:58
  • 402

(C++)剑指offer-51:构建乘积数组(数组)

剑指offer-51:构建乘积数组 目录 剑指offer-51:构建乘积数组 目录 1题目描述 2题目分析 3题目答案 1题目描述 给定一个数组A[0,1,…,n-1],请构...
  • malele4th
  • malele4th
  • 2018-02-17 21:20:50
  • 24
收藏助手
不良信息举报
您举报文章:【剑指offer】构建乘积数组
举报原因:
原因补充:

(最多只允许输入30个字)