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;
}
}