题目链接:https://leetcode-cn.com/problems/check-if-all-the-integers-in-a-range-are-covered/
题目如下:
class Solution {
public:
bool isCovered(vector<vector<int>>& ranges, int left, int right) {
//我的思路是:
//依次遍历一次区间,对于当前的区间,先判断left是否包含在内,如果不包含,直接下一个
//如果包含,在判断right在当前区间的情况,分两种情况,包含即true,不包含则left移动
//排序,防止有的区间顺序抠时是乱的,放到我的思路里会出现问题
vector<int> temp;
for(int i=0;i<ranges.size()-1;i++)
for(int j=i+1;j<ranges.size();j++){
if((ranges[i][0]>ranges[j][0])){
temp=ranges[i];
ranges[i]=ranges[j];
ranges[j]=temp;
}
}
for(int i=0;i<ranges.size();i++){
cout<<ranges[i][0]<<' '<<ranges[i][1]<<endl;
if(left<=ranges[i][1]&&left>=ranges[i][0]){//左区间在ranges里,否则直接忽略当前vector
if(right>ranges[i][1]) left=ranges[i][1]+1;
if(right<=ranges[i][1]) return true;
}
}
return false;
}
};