别再每次都从头加了:一招前缀和,把“区间求和”打成 O(1)
别再每次都从头加了:一招前缀和,把“区间求和”打成 O(1)
一、引子:你是不是也写过这种“憨憨代码”?
我先问你一个很真实的问题:
给你一个数组,每次让你求一个区间[i, j]的和,你第一反应是不是这样写:
sum(nums[i:j+1])没毛病,对吧?
但问题是——如果这个操作要执行上万次、甚至百万次呢?
👉 你就会发现,CPU 风扇开始起飞了。
这时候你才会意识到一个问题:
不是代码写错了,而是思路太“线性”了。
今天我们聊一个看起来简单,但本质很有意思的题:
