LeetCode 5127. 删除被覆盖区间 Remove Covered Intervals
2024-08-30 07:09:49
地址 https://leetcode-cn.com/contest/biweekly-contest-15/problems/remove-covered-intervals/
目描述
给你一个区间列表,请你删除列表中被其他区间所覆盖的区间。
只有当 c <= a 且 b <= d 时,我们才认为区间 [a,b) 被区间 [c,d) 覆盖。
在完成所有删除操作后,请你返回列表中剩余区间的数目。
示例: 输入:intervals = [[,],[,],[,]]
输出:
解释:区间 [,] 被区间 [,] 覆盖,所以它被删除了。 提示: <= intervals.length <=
<= intervals[i][] < intervals[i][] <= ^
对于所有的 i != j:intervals[i] != intervals[j]
算法1
还是逐个比较各个区间 只是被包含的区间直接填充不可能数字 避免进行数组删减移动 浪费时间
class Solution {
public: bool Check( vector<vector<int>>& v,int a,int b){
if(v[a][] == - || v[a][] == - || v[b][]==- || v[b][] == -){
return false;
} if(v[a][] <= v[b][] && v[b][] <= v[a][]){
//a 覆盖b
v[b][] = -; v[b][] = -;
return true;
} return false;
} int removeCoveredIntervals(vector<vector<int>>& intervals) {
if(intervals.empty()) return ;
int count = ;
for(int i = ; i < intervals.size()-;i++){
for(int j =i+;j <intervals.size();j++){
if(Check(intervals,i,j)){
count++;
}else if(Check(intervals,j,i)){
count++;
//当前的选择已经优化掉了直接break
break;
}
}
} return intervals.size()-count;
}
};
最新文章
- http学习笔记(三)
- C语言(函数)学习之index、rindex
- 关于web前端(知乎上收集)
- Xcode 快捷键操作
- 我的博客已搬迁到http://www.lsworks.net
- c语言,strcat(),字符串拼接
- 利用set实现去重
- instancetype vs id for Objective-C
- 解决Sublime-Text-3在ubuntu下中文输入的问题
- Oracle基础知识笔记(10) 约束
- hdu4734(数位dp)
- akoj-1272-字母统计
- 基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
- mysql中独立表空间与共享表空间之前如何切换
- Kotlin入门(32)网络接口访问
- HTMLCSS--案例| 超链接美化 | 模态框 | tab栏选项卡
- Jenkins+PowerShell持续集成环境搭建(二)控制台项目
- 404错误处理以及以后缀为action结尾的处理
- OnSen UI结合AngularJs打造”美团";APP首页 --Hybrid Ap
- HDU2029:Palindromes _easy version
热门文章
- Rancher2.x流水线自动化部署
- Python中Pyyaml模块的使用
- English:Day-to-day 1104
- JS 算数
- Httpclient 4.5.2 请求重试机制
- 阿里云RDS for SQL Serrver关于权限的一个严重Bug
- 关于controller层用实体类接收参数为null的问题
- PHP捕获异常register_shutdown_function和error_get_last的使用
- DataTable实现分组
- Selenium(十四):自动化测试模型介绍、模块化驱动测试案例、数据驱动测试案例