Leetcode-435:无重叠区间
题目链接
Leetcode-435:无重叠区间
题目描述
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。
注意:
- 可以认为区间的终点总是大于它的起点。
- 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。
示例 1:
输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。
示例 2:
输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。
示例 3:
输入: [ [1,2], [2,3] ]输出: 0解释: 你不需要移除任何区间,因为它们已经是无重叠的了。
解题思路
贪心算法,将区间按照终点由小到大排序,进行一次遍历。
在遍历中记录终点值,当出现一个新的区间的时候,如果这个值大于现有终点,则可以加入这个区间,并同时更新区间终点。
算出总共加入了多少区间记录为count,
最后总数减去count.得到结果
解题代码
class Solution {public int eraseOverlapIntervals(int[][] intervals) {int n = intervals.length;if(n==0){return 0;}for(int i = 0;i<n-1;i++){for(int j = 0;j<n-1-i;j++){if((intervals[j][1]>intervals[j+1][1]) ||(intervals[j][1]==intervals[j+1][1] && intervals[j][0]>intervals[j+1][0])){int[] tmp = intervals[j];intervals[j] = intervals[j+1];intervals[j+1] = tmp;}}}int count =1;int end = intervals[0][1];for(int i = 0;i<n;i++){int istart = intervals[i][0];if(istart>=end){end = intervals[i][1];count ++;}}int res= n-count;return res;}
}
解题结果
执行用时 : 516 ms, 在Non-overlapping Intervals的Java提交中击败了5.20% 的用户
内存消耗 : 54.3 MB, 在Non-overlapping Intervals的Java提交中击败了5.05% 的用户
Leetcode-435:无重叠区间相关推荐
- LeetCode 435. 无重叠区间(贪心/动态规划)
文章目录 1. 题目 2. 解题 2.1 贪心 2.2 动态规划 1. 题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 ...
- Leetcode 435.无重叠区间 (每日一题 20210708 同类型题)
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相互重叠 ...
- LeetCode 435. 无重叠区间(贪婪算法)
题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触", ...
- LeetCode 435. 无重叠区间 做题小结
题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相 ...
- leetcode 435. 无重叠区间
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相互 ...
- LeetCode 435 无重叠区间
题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没 ...
- 164. Leetcode 435. 无重叠区间 (贪心算法-贪心区间)
class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if len(interval ...
- 2022-4-11 Leetcode 435.无重叠区间 —— 【贪心算法】
第一版,我本来打算是按照会议室的方式写的.每个房间放入连续的数组下标的序号.后来发现可能会出现同一个数组能够放入多个房间里,所以需要在每一轮开始前对房间进行排序. 本来自信慢慢的觉得自己能过,但是发现 ...
- 通俗易懂:贪心算法(二):区间问题 (力扣435无重叠区间)
看完本文,可以顺便解决leetcode以下题目: 435.无重叠区间(中等) 一.通俗易懂的 贪心算法 |思想 (重复一次~~~) 贪心算法就是采用贪心的策略,保证每一次的操作都是局部最优的,从而使得 ...
- 435. 无重叠区间
435. 无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触& ...
最新文章
- C++中的vector的用法
- MNIST数据库介绍及转换
- 微软职位内部推荐-Principal Development Lead
- 自定义的注解校验器的实现
- Andriod中的两种自定义颜色选择器
- ORA-00018: maximum number of sessions exceeded 超出最大会话数
- 0.Overview
- Selenium POM简介
- mysql rpm server_记录一次最新版MySQL-server-5.6.20-1.el6.x86_64.rpm的安装
- Disruptor内存消息队列的资料整理
- qq怎样发起临时会话(不加好友)
- MySQL下载与安装教程(小白)
- 初识c语言加操作系统
- 对SPU、SKU的一点理解
- 无法删除文件夹,文件,出现指定的文件名无效或太长,请指定另一文件名
- 支付宝当面付之扫码支付“无效签名”
- 基于C语言实现图书借阅管理系统
- 冰与火之歌居然是在 DOS 系统上写出来的
- 【蓝桥真题】三羊献瑞,祥瑞生辉+三羊献瑞=三羊生瑞气(暴力破解)
- 安卓——RecyclerView使用(最新版)面向小白,要多白就有多白
热门文章
- 【深度学习的数学】“2×4×1层带sigmoid激活函数的神经网络感知机对三角形平面的分类训练预测”,输出层加偏置b(实时绘制损失函数曲线)(对输入数据归一化)(奇迹出现了!)
- yolo标注的数据清洗
- 如何重命名磁盘盘符名?
- mysql ——读写分离
- linux——Firewalld与iptables的基本配置
- java的object如何转为具体的类_佛山个体户如何转为公司?
- pssh批量执行启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
- Java进阶之深入理解JVM类加载机制
- Spring系列之集成MongoDB的2种方法,你知道嘛?
- r语言和python的区别_机器学习怎样开始比较好?Python还是R语言?