Skip to content

Commit 0304a40

Browse files
authored
Update range-module.cpp
1 parent e6bbbb6 commit 0304a40

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

C++/range-module.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,15 @@ class RangeModule {
4343
});
4444
return it != intervals_.end() && it->first <= left && it->second >= right;
4545
}
46+
47+
// Time: O(logn)
48+
bool queryRange2(int left, int right) {
49+
auto it = lower_bound(intervals_.begin(), intervals_.end(), make_pair(left, numeric_limits<int>::max()));
50+
if (it != intervals_.begin()) {
51+
it = prev(it);
52+
}
53+
return it != intervals_.end() && it->first <= left && it->second >= right;
54+
}
4655

4756
// Time: O(n)
4857
void removeRange(int left, int right) {

0 commit comments

Comments
 (0)