别再每次都从头加了:一招前缀和,把“区间求和”打成 O(1)

别再每次都从头加了:一招前缀和,把“区间求和”打成 O(1)


一、引子:你是不是也写过这种“憨憨代码”?

我先问你一个很真实的问题:

给你一个数组,每次让你求一个区间[i, j]的和,你第一反应是不是这样写:

sum(nums[i:j+1])

没毛病,对吧?

但问题是——如果这个操作要执行上万次、甚至百万次呢?

👉 你就会发现,CPU 风扇开始起飞了。

这时候你才会意识到一个问题:

不是代码写错了,而是思路太“线性”了。

今天我们聊一个看起来简单,但本质很有意思的题: