1893. Check if All the Integers in a Range Are Covered

1893. Check if All the Integers in a Range Are Covered #

题目 #

  • 给你一个二维整数数组 ranges 和两个整数 leftright 。每个 ranges[i] = [starti, endi] 表示一个从 startiendi闭区间
  • 如果闭区间 [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;
    }
}

致谢 #

宫水三叶