可以通过使用一个字典来记录前面出现过的数字以及它们的索引位置,如果当前数字已经出现过,那么就将累积和重置为0,重新开始计算。
代码示例:
def restart_cumulative_sum(lst): seen = {} cumulative_sum = 0 for i in range(len(lst)): if lst[i] in seen: cumulative_sum = 0 else: seen[lst[i]] = i cumulative_sum += lst[i] return cumulative_sum