0
点赞
收藏
分享

微信扫一扫

微信小程序教程011:全局配置:Window

题目

解题

"""
这个算法的时间复杂度为 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]
举报

相关推荐

0 条评论