import org.omg.PortableInterceptor.INACTIVE;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
/**
* @author xnl
* @Description:
* @date: 2022/6/6 21:08
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
}
}
class MyCalendarThree {
Map<Integer, Integer> map;
public MyCalendarThree() {
map = new TreeMap<>();
}
public int book(int start, int end) {
int ans = 0;
int maxBook = 0;
map.put(start, map.getOrDefault(start, 0) + 1);
map.put(end, map.getOrDefault(end, 0) - 1);
for (Map.Entry<Integer, Integer> integerIntegerEntry : map.entrySet()) {
Integer value = integerIntegerEntry.getValue();
maxBook += value;
ans = Math.max(maxBook, ans);
}
return ans;
}
}
class MyCalendarThree2 {
Map<Integer, Integer> tree;
Map<Integer, Integer> lazy;
public MyCalendarThree2() {
tree = new HashMap<Integer, Integer>(16);
lazy = new HashMap<Integer, Integer>(16);
}
public int book(int start, int end) {
return tree.getOrDefault(1, 0);
}
public void update(int start, int end, int l, int r, int idx) {
// 退出条件
if (r < start || l > end ){
return;
}
// 初始化
if (start <= 1 && r <= end){
tree.put(idx, tree.getOrDefault(idx, 0) + 1);
lazy.put(idx, lazy.getOrDefault(idx, 0) + 1);
}else {
int mid = (l + r) >> 1;
update(start, end, l, mid, idx * 2);
update(start, end, mid + 1, r, idx * 2 + 1);
tree.put(idx, lazy.getOrDefault(idx, 0) + Math.max(tree.getOrDefault(idx * 2
, 0), tree.getOrDefault(idx * 2 + 1, 0)));
}
}
}
力扣:732. 我的日程安排表 III
于 2022-06-06 22:51:59 首次发布