首页 > 解决方案 > 确定我可以对子序列求和多少次以获得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

标签: pythonlistdictionaryslice

解决方案


推荐阅读