0
点赞
收藏
分享

微信扫一扫

检查是否区域内所有整数都被覆盖

陆佃 2021-09-21 阅读 79
今日算法
题目描述:
示例 1:
  • 2 被第一个区间覆盖。
  • 3 和 4 被第二个区间覆盖。
  • 5 被第三个区间覆盖。
示例 2:
思路一:
代码实现:
class Solution {
    public boolean isCovered(int[][] ranges, int left, int right) {
        for (int i = left; i <= right; i++) {
            boolean flag = false;
            for (int j = 0; j < ranges.length; j++) {
                if (ranges[j][0] <= i && ranges[j][1] >= i) {
                    flag = true;
                    break;
                } 
            }
            if (!flag) {
                return false;
            }
        }
        return true;
    }
}
思路二:
代码实现:
class Solution {
    public boolean isCovered(int[][] ranges, int left, int right) {
        Map<Integer, Integer> map = new HashMap();
        for (int i = 0; i < ranges.length; i++) {
          int start = ranges[i][0];
          int end = ranges[i][1];
          for (int p = start; p <= end; p++) {
              map.put(p, 1);
          }
        }
        for (int j = left; j <= right; j++) {
            if (map.get(j) == null) {
                return false;
            }
        }
        return true;
    }
}
举报

相关推荐

0 条评论