检查是否区域内所有整数都被覆盖
力扣 1893. 检查是否区域内所有整数都被覆盖
题目说明
给你一个二维整数数组
ranges和两个整数left和right。每个ranges[i] = [starti, endi]表示一个从starti到endi的 闭区间 。如果闭区间
[left, right]内每个整数都被ranges中 至少一个 区间覆盖,那么请你返回true,否则返回false。已知区间
ranges[i] = [starti, endi],如果整数x满足starti <= x <= endi,那么我们称整数x被覆盖了。提示:
1 <= ranges.length <= 501 <= starti <= endi <= 501 <= left <= right <= 50
示例
示例 1:
1 | 输入:ranges = [[1,2],[3,4],[5,6]], left = 2, right = 5 |
示例 2:
1 | 输入:ranges = [[1,10],[10,20]], left = 21, right = 21 |
笔者理解
此题是一道数组算法问题,在力扣题库中被定义为简单题。
解法
当笔者阅读完此题后,发现本题用差分数组加前缀和最优,这道题的讲解,我首推这篇带图的讲解,通俗易懂,让我们来看看具体如何实现的吧。
实现
1 | class Solution { |
时间空间效率都还行,可见此解法还比较适合此题;
总结
本题是今天的每日一题,难度是为简单,感兴趣的朋友都可以去尝试一下,此题还有其他更多的解法,朋友们可以自己逐一尝试。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 徐年の博客!







