m0_59765242 2022-12-27 12:35 采纳率: 40%
浏览 18

python问题求解答

img

img

img


请问大家知道这是怎么回事吗?老是运行超时,应该怎么优化一下呢?

  • 写回答

3条回答 默认 最新

  • |__WhoAmI__| 2022-12-27 13:11
    关注

    这个代码的瓶颈在于它的时间复杂度是指数级别的。在每次迭代中,你都从2开始遍历到n,所以总时间复杂度为O(n^2)。

    要优化这个代码可以使用一些算法来减少遍历的次数,比如质因数分解。

    def prime_factorization(n):
        factors = []
        i = 2
        while i * i <= n:
            if n % i:
                i += 1
            else:
                n //= i
                factors.append(i)
        if n > 1:
            factors.append(n)
        return factors
    
    # 使用示例
    print(prime_factorization(n))
    

    望采纳。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月27日