42 lines
714 B
Java
42 lines
714 B
Java
package com.dota.treeMap;
|
|
|
|
import java.util.Map;
|
|
import java.util.TreeMap;
|
|
|
|
public class Solution {
|
|
|
|
}
|
|
|
|
/**
|
|
* 2276. 统计区间中的整数数目
|
|
*/
|
|
|
|
class CountIntervals {
|
|
TreeMap<Integer, Integer> map = new TreeMap<>();
|
|
int cnt = 0;
|
|
|
|
public CountIntervals() {
|
|
|
|
}
|
|
|
|
public void add(int left, int right) {
|
|
Map.Entry<Integer, Integer> inte = map.floorEntry(right);
|
|
while (inte != null && inte.getValue() >= left) {
|
|
int l = inte.getKey();
|
|
int r = inte.getValue();
|
|
left = Math.min(l, left);
|
|
right = Math.max(r, right);
|
|
cnt -= r - l + 1;
|
|
map.remove(l);
|
|
inte = map.floorEntry(right);
|
|
}
|
|
|
|
cnt += (right - left + 1);
|
|
map.put(left, right);
|
|
}
|
|
|
|
public int count() {
|
|
return cnt;
|
|
}
|
|
}
|