1893. Check if All the Integers in a Range Are Covered #
题目 #
- 给你一个二维整数数组
ranges
和两个整数left
和right
。每个ranges[i] = [starti, endi]
表示一个从starti
到endi
的 闭区间 。 - 如果闭区间
[left, right]
内每个整数都被ranges
中 至少一个 区间覆盖,那么请你返回true
,否则返回false
。 - 已知区间
ranges[i] = [starti, endi]
,如果整数x
满足starti <= x <= endi
,那么我们称整数x
被覆盖了。
思路 #
模拟 #
树状数组 #
线段树 #
代码 #
模拟 #
class Solution {
public boolean isCovered(int[][] ranges, int left, int right) {
int[] mark = new int[51];
for (int[] range: ranges) {
for (int k = range[0]; k <= range[1]; k++) {
mark[k] = 1;
}
}
for (int i = left; i <= right; i++) {
if (mark[i] == 0) return false;
}
return true;
}
}