除自身以外陣列的乘積
給定長度為 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 ...