Skip to main content
Back to problems
#1893
Easy Algorithms

Check if all the integers in a range are covered

Array Hash Table Prefix Sum
50.8% acceptance
Feb 25, 2026
672
127
Given a 2D integer array ranges and two integers left and right, return true if every integer in [left, right] is covered by at least one range.

Solution

Rust
Time O(n)
Space O(1)
LeetCode
solution.rs
impl Solution {
  pub fn is_covered(ranges: Vec<Vec<i32>>, left: i32, right: i32) -> bool {
    let mut diff = [0i32; 52];
    for r in &ranges {
      diff[r[0] as usize] += 1;
      diff[r[1] as usize + 1] -= 1;
    }
    let mut running = 0;
    for i in 0..=50usize {
      running += diff[i];
      if i as i32 >= left && i as i32 <= right && running == 0 {
        return false;
      }
    }
    true
  }
}