![[差分数组]leetcode732. 我的日程安排表 III(medium),第1张 [差分数组]leetcode732. 我的日程安排表 III(medium),第1张](/aiimages/%5B%E5%B7%AE%E5%88%86%E6%95%B0%E7%BB%84%5Dleetcode732.+%E6%88%91%E7%9A%84%E6%97%A5%E7%A8%8B%E5%AE%89%E6%8E%92%E8%A1%A8+III%28medium%29.png)
题目:
题解:
思路:差分数组
- 接 729. 我的日程安排表 I 的思路,再还原差分数组时记录最大值即可。
代码如下:
class MyCalendarThree {
public:
MyCalendarThree() {}
map<int,int> b;// 差分数组b
int book(int l, int r) {
b[l]+=1,b[r]-=1;
int res=0,cur=0;
// 依次还原差分数组ai,ai=b1+b2+...+bi,并记录最大的ai
for(auto [_,cnt]:b){
cur+=cnt;
res=max(res,cur);
}
return res;
}
};
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)