题目
解题
"""
这个算法的时间复杂度为 O(n),空间复杂度为 O(1)(不计入输出数组的空间)。
"""
def product_except_self(nums):
n = len(nums)
answer = [1] * n
# 计算前缀乘积
prefix = 1
for i in range(n):
answer[i] = prefix
prefix *= nums[i]
# 计算后缀乘积并更新答案数组
suffix = 1
for i in range(n - 1, -1, -1):
answer[i] *= suffix
suffix *= nums[i]
return answer
nums = [1, 2, 3, 4]
print(product_except_self(nums)) # 输出: [24, 12, 8, 6]