栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Leetcode 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 = [[1,2],[3,4],[5,6]], left = 2, right = 5
输出:true
解释:2 到 5 的每个整数都被覆盖了:
- 2 被第一个区间覆盖。
- 3 和 4 被第二个区间覆盖。
- 5 被第三个区间覆盖。

示例 2:

输入:ranges = [[1,10],[10,20]], left = 21, right = 21
输出:false
解释:21 没有被任何一个区间覆盖。
 

提示:

1 <= ranges.length <= 501 <= starti <= endi <= 501 <= left <= right <= 50

Code:

class Solution {
public:
    bool isCovered(vector>& ranges, int left, int right)
    {
        bool ret=false;
        
        sort(ranges.begin(),ranges.end());
        
        int count=0;
        
        for(int i=left;i<=right;i++)
        {
            for(int j=0;jvec=ranges[j];
                sort(vec.begin(),vec.end());
                if(vec[0]<=i&&vec[vec.size()-1]>=i)
                {
                    count++;
                    break;
                }
            }
        }
        cout<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/743991.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号