Back to all solutions
#1893 - Check if All the Integers in a Range Are Covered
Problem Description
You are given a 2D integer array ranges and two integers left and right. Each ranges[i] = [starti, endi] represents an inclusive interval between starti and endi.
Return true if each integer in the inclusive range [left, right] is covered by at least one interval in ranges. Return false otherwise.
An integer x is covered by an interval ranges[i] = [starti, endi] if starti <= x <= endi.
Solution
/**
* @param {number[][]} ranges
* @param {number} left
* @param {number} right
* @return {boolean}
*/
var isCovered = function(ranges, left, right) {
const covered = new Array(51).fill(false);
for (const [start, end] of ranges) {
for (let i = start; i <= end; i++) {
covered[i] = true;
}
}
for (let i = left; i <= right; i++) {
if (!covered[i]) return false;
}
return true;
};