一般来说,我考虑过使用 sum() 但我一般都很难解决。我没有太多要详细说明的内容,因此为了满足问题正文要求,我将输入这句话并祈祷我写得足够多。这还不够,这太悲伤了。请问为什么我要为正文写这么多,我们需要降低对问题的要求 smh
如果你想在 O(n) 内完成这个问题(朴素算法是 O(n * n))那么你必须使用前缀和。这是伪代码:
for i: 1 -> n:
prefix_sum[i] = prefix_sum[i - 1] + a[i]
for i: 1 -> n:
if (prefix_sum[i] - prefix[0]) == (prefix_sum[n] - prefix_sum[i - 1]):
print(i)