python-3.x - 当每个阶段产生下一个工作的列表时,如何降低嵌套 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
解决方案
推荐阅读
- slack - 我的 slackapp 不适用于其他工作区
- cassandra - 设置和启动 cassandra 进行生产的选项
- amazon-web-services - AWS ECS Fargate 内存使用情况
- mysql - 使用 NOT IN 对具有奇怪的空值的列表的 SQL 查询
- javascript - Discord.js 我无法创建具有特定权限的角色,该角色是静音角色
- java - 在 Spring 应用程序中运行内存中(嵌入式)MongoDB 的集成测试
- amazon-web-services - AWS Cloudfront - 具有 CloudFront 源访问和引用存储桶策略的 S3
- python - Selenium 的 Youtube 网页抓取
- python - 我不知道我该如何解决
- google-apps-script - 希望为任何粘贴的 URL 自动替换 http:// 为 https://