https://leetcode.com/problems/my-calendar-i/description/
leetcode上打heap标签的几个题用于练习数据结构都不错。
class MyCalendar {
public:
MyCalendar() {
}
bool book(int start, int end) {
auto a = this->mem.lower_bound( make_pair(start, end) );
if (a != this->mem.end() && end > a->first ) {
// cout << "afirst:" << a->first << " asecond:" << a->second << endl;
return false;
}
if (a != this->mem.begin() && prev(a)->second > start) {
// cout << "first:" << prev(a)->first << " second:" << prev(a)->second << endl;
return false;
}
this->mem.insert( make_pair( start, end ) );
return true;
}
// set< pair<int, int>, greater< pair<int, int> > > mem;
set< pair<int, int> > mem;
};