238 除自身以外陣列的乘積

2021-09-28 17:09:54 字數 1423 閱讀 5000

除自身以外陣列的乘積

給定長度為 n 的整數陣列 nums,其中 n > 1,返回輸出陣列 output ,其中 output[i] 等於 nums 中除 nums[i] 之外其餘各元素的乘積。

示例:輸入: [1,2,3,4]

輸出: [24,12,8,6]

說明:請不要使用除法,且在 o(n) 時間複雜度內完成此題。

高階:你可以在常數空間複雜度內完成這個題目嗎?( 出於對空間複雜度分析的目的,輸出陣列不被視為額外空間。)

class

solution

:def

productexceptself

(self, nums: list[

int])-

> list[

int]

: ans =

for i in

range(0

,len

(nums)):

ans +=[1

]for j in

range(0

,len

(nums)):

if j != i:

ans[i]

= ans[i]

* nums[j]

return ans

核心:ans[i]的值 = i以前所有數的乘積(第乙個除外) * i之後所有數的乘積(最後乙個除外)

輸入:			 1   2   3   4

i以前所有數的乘積:1 1 2 6

i之後所有數的乘積:24 12 4 1

class

solution

:def

productexceptself

(self, nums: list[

int])-

> list[

int]

: sequencemultiply =

reversemultiply =

ans =

for i in

range(0

,len

(nums)):

if i ==0:

1)1)

else:1

]* nums[i-1]

) reversemultiply.insert(

0, reversemultiply[0]

* nums[

len(nums)

-i])

for i in

range(0

,len

(nums)):

* reversemultiply[i]

)return ans

238 除自身以外陣列的乘積

題目描述 給定長度為 n 的整數陣列 nums,其中 n 1,返回輸出陣列 output 其中 output i 等於 nums 中除 nums i 之外其餘各元素的乘積。示例 輸入 1,2,3,4 輸出 24,12,8,6 說明 請不要使用除法,且在 o n 時間複雜度內完成此題。解題思路 拿到題...

238 除自身以外陣列的乘積

給定長度為 n 的整數陣列 nums,其中 n 1,返回輸出陣列 output 其中 output i 等於 nums 中除 nums i 之外其餘各元素的乘積。示例 輸入 1,2,3,4 輸出 24,12,8,6 高階 你可以在常數空間複雜度內完成這個題目嗎?出於對空間複雜度分析的目的,輸出陣列不...

238 除自身以外陣列的乘積

給定長度為 n 的整數陣列 nums,其中 n 1,返回輸出陣列 output 其中 output i 等於 nums 中除 nums i 之外其餘各元素的乘積。示例 輸入 1,2,3,4 輸出 24,12,8,6 說明 請不要使用除法,且在 o n 時間複雜度內完成此題。分析 如果引入乙個o n ...