题目描述

给定一个数组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[0] = A[1] A[2] A[n-1],B[n-1] = A[0] A[1] A[n-2];)
对于A长度为1的情况,B无意义,故而无法构建,因此该情况不会存在。

  1. # -*- coding:utf-8 -*-
  2. class Solution:
  3. def multiply(self, A):
  4. # write code here
  5. if len(A)<=1:
  6. return []
  7. B = []
  8. for i in range(len(A)):
  9. temp = 1
  10. for j in range(i+1,len(A)):
  11. temp *=A[j]
  12. B.append(temp)
  13. for i in range(len(A)):
  14. temp1=1
  15. for j in range(i):
  16. temp1 *= A[j]
  17. B[i] = B[i]*temp1
  18. return B