LeetCode 732 我的日程安排表 III[插旗法] HERODING的LeetCode之路

在这里插入图片描述

解题思路

在看了一位博主的插旗法介绍后,三道题轻轻松松解决,等于是三题一解,思路上都是插旗法,并且代码上几乎没什么变化,所以。。。这是困难题?感兴趣的同学可以从链接进去了解,我的部分理解也放在了评论区,代码如下:

代码

class MyCalendarThree {
public:
    map<int, int> mp;
    MyCalendarThree() {

    }
    
    int book(int start, int end) {
        mp[start] += 1;
        mp[end] -= 1;
        int ans = 0, cur = 0;
        for(auto& [a, b] : mp) {
            cur += b;
            ans = max(ans, cur);
        }
        return ans;
    }
};

/**
 * Your MyCalendarThree object will be instantiated and called as such:
 * MyCalendarThree* obj = new MyCalendarThree();
 * int param_1 = obj->book(start,end);
 */

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>