【题目】
注意:
请不要使用除法,且在 O(n) 时间复杂度内完成此题。
【代码】
class Solution:
def productExceptSelf(self, nums: List[int]) -> List[int]:
left,right,ans=[],[],[]
pre=1
for item in nums:
left.append(pre*item)
pre=left[-1]
pre=1
for item in nums[::-1]:
right.append(pre*item)
pre=right[-1]
right=right[::-1]
for i in range(len(left)):
if i==0:
ans.append(right[i+1])
elif i==len(left)-1:
ans.append(left[i-1])
else:
ans.append(left[i-1]*right[i+1])
return ans
【进阶版】
进阶:你可以在 O(1) 的额外空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组不被视为额外空间。)
后续补充