177 字
1 分钟
算法 : 差分

§一维差分#

差分与前缀和的关系,类似导数积分的关系。

数组 a 的差分的前缀和就是数组 a(不变)。

模板:

class Solution {
public:
int numberOfPoints(vector<vector<int>>& nums) {
int max_end = ranges::max(nums, {}, [](const auto& a) { return a[1]; })[1];
vector<int> diff(max_end + 2); // 注意下面有 end+1
for (auto& interval : nums) {
diff[interval[0]]++;
diff[interval[1] + 1]--;
}
int ans = 0, s = 0;
for (int d : diff) {
s += d;
ans += s > 0;
}
return ans;
}
};

§基础#

算法 : 差分
https://dingfengbo.vercel.app/posts/算法/差分/
作者
Eureka
发布于
2026-04-30
许可协议
CC BY-NC-SA 4.0