不能使用除法,那麼就構建兩個陣列
陣列1 larr,第一位是1,其餘位的數是a0a1…ai-1
陣列2 rarr,最後一位是1,其餘位是ai+1ai+2*…*an-1
最後返回b,b的每一位是larr[i]*rarr[i]
class
solution
:def
multiply
(self, a)
:# write code here
larr =
for i in
range
(len
(a))
:if i==0:
1)else:1
]*larr[i-1]
) rarr =
for i in
reversed
(range
(len
(a))):
if i==
len(a)-1
:1)else
: rarr =
[a[i+1]
*rarr[0]
]+rarr
b =for i in
range
(len
(a))
:*rarr[i]
)return b
劍指offer 51 構建乘積陣列
給定乙個陣列a 0,1,n 1 請構建乙個陣列b 0,1,n 1 其中b中的元素b i a 0 x a 1 x x a i 1 x a i 1 x x a n 1 不能使用除法。由題目可知b i a 0 x a 1 x x a n 1 a i 題目裡面不能用除法 計算右邊的三角 也就是d i int...
劍指offer51 構建乘積陣列
給定乙個陣列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無意義,故而無法構建,因此該情況不會...
劍指offer 51 陣列 構建乘積陣列
給定乙個陣列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 不能使用除法。乙個for迴圈裡面巢狀兩個for迴圈即可 public int multiply int a int b new int a.length for...