python - 确定我可以对子序列求和多少次以获得Python中给定k数的方法
问题描述
我确实有一个整数列表;我正在尝试优化我的代码并找到一种让它表现更好的方法。
我有一个数字字符串,我将该字符串转换为整数列表,然后将列表迭代 2 个循环以找到总和等于小计 k(这次是 9)的子序列,但它不会通过所有我给出了超时测试,原因是 f 效率低下。有人建议我使用字典,但来自 c 我不太倾向于使用它们。
def ex1(int_seq, subtotal):
lista = convert(int_seq)
cont = 0
lun = len(lista)
for i in range(lun):
for j in range(i+1,lun):
somma = sum(lista[i:j])
if somma == subtotal:
cont += 1
elif somma < subtotal:
somma += sum(lista[i:j])
elif somma > subtotal:
break
解决方案
推荐阅读
- python - VS Code“在终端中运行 Python”播放按钮不起作用
- sql - 根据另一个表 Firebird 的数据将 MERGE 语句合并到表中
- c# - c# wpf 打印后将 Canvas 添加回 Border
- machine-learning - InvalidArgumentError:不兼容的形状:[15,3] 与 [100,3]
- javascript - TypeError:没有'new'就不能调用类构造函数MongoStore
- javascript - 当我尝试确保我的 JavaScript 代码正常工作时,我在 Google Chrome 上的控制台上收到此错误
- npm - 将“date-fns”导入 Svelte 模块时出错
- three.js - Aframe/Three/WebXR:在 VR 模式下禁用设备方向
- angular - 如果我们想要用户的特定数据,如何使用 formcontrol 修补 p-dropdown 中的值?
- swiftui - 根据窗口高度展开 NSViewRepresentable (NSTextView) 高度