首页 > 解决方案 > 当每个阶段产生下一个工作的列表时,如何降低嵌套 for 循环的时间复杂度

问题描述

我需要降低for 循环的时间复杂度,但问题是我需要不同的范围,并且每个循环都提供了在下一个循环中工作的材料。我需要以一种处理时间少于 10 秒的方式对其进行压缩。

我可以通过哪些方式压缩这些类型的循环?

def countWays(arr, l, r):
    total = 0
    for i in range(l,r+1):
        count=0
        for k in range(1,i+1):
            itertablecomb = itertools.combinations_with_replacement(arr, k)
            for y in itertablecomb:
                if sum(list(y)) == i:
                    count=count+1
        total=total+count
    return total

标签: python-3.xtimetime-complexity

解决方案


推荐阅读