题目链接

Leetcode-435:无重叠区间

题目描述

给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。

注意:

  1. 可以认为区间的终点总是大于它的起点。
  2. 区间 [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:无重叠区间相关推荐

  1. LeetCode 435. 无重叠区间(贪心/动态规划)

    文章目录 1. 题目 2. 解题 2.1 贪心 2.2 动态规划 1. 题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 ...

  2. Leetcode 435.无重叠区间 (每日一题 20210708 同类型题)

    给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相互重叠 ...

  3. LeetCode 435. 无重叠区间(贪婪算法)

    题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触", ...

  4. LeetCode 435. 无重叠区间 做题小结

    题目 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相 ...

  5. leetcode 435. 无重叠区间

    给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相互 ...

  6. LeetCode 435 无重叠区间

    题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠.注意:可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没 ...

  7. 164. Leetcode 435. 无重叠区间 (贪心算法-贪心区间)

    class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if len(interval ...

  8. 2022-4-11 Leetcode 435.无重叠区间 —— 【贪心算法】

    第一版,我本来打算是按照会议室的方式写的.每个房间放入连续的数组下标的序号.后来发现可能会出现同一个数组能够放入多个房间里,所以需要在每一轮开始前对房间进行排序. 本来自信慢慢的觉得自己能过,但是发现 ...

  9. 通俗易懂:贪心算法(二):区间问题 (力扣435无重叠区间)

    看完本文,可以顺便解决leetcode以下题目: 435.无重叠区间(中等) 一.通俗易懂的 贪心算法 |思想 (重复一次~~~) 贪心算法就是采用贪心的策略,保证每一次的操作都是局部最优的,从而使得 ...

  10. 435. 无重叠区间

    435. 无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触& ...

最新文章

  1. C++中的vector的用法
  2. MNIST数据库介绍及转换
  3. 微软职位内部推荐-Principal Development Lead
  4. 自定义的注解校验器的实现
  5. Andriod中的两种自定义颜色选择器
  6. ORA-00018: maximum number of sessions exceeded 超出最大会话数
  7. 0.Overview
  8. Selenium POM简介
  9. mysql rpm server_记录一次最新版MySQL-server-5.6.20-1.el6.x86_64.rpm的安装
  10. Disruptor内存消息队列的资料整理
  11. qq怎样发起临时会话(不加好友)
  12. MySQL下载与安装教程(小白)
  13. 初识c语言加操作系统
  14. 对SPU、SKU的一点理解
  15. 无法删除文件夹,文件,出现指定的文件名无效或太长,请指定另一文件名
  16. 支付宝当面付之扫码支付“无效签名”
  17. 基于C语言实现图书借阅管理系统
  18. 冰与火之歌居然是在 DOS 系统上写出来的
  19. 【蓝桥真题】三羊献瑞,祥瑞生辉+三羊献瑞=三羊生瑞气(暴力破解)
  20. 安卓——RecyclerView使用(最新版)面向小白,要多白就有多白

热门文章

  1. 【深度学习的数学】“2×4×1层带sigmoid激活函数的神经网络感知机对三角形平面的分类训练预测”,输出层加偏置b(实时绘制损失函数曲线)(对输入数据归一化)(奇迹出现了!)
  2. yolo标注的数据清洗
  3. 如何重命名磁盘盘符名?
  4. mysql ——读写分离
  5. linux——Firewalld与iptables的基本配置
  6. java的object如何转为具体的类_佛山个体户如何转为公司?
  7. pssh批量执行启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
  8. Java进阶之深入理解JVM类加载机制
  9. Spring系列之集成MongoDB的2种方法,你知道嘛?
  10. r语言和python的区别_机器学习怎样开始比较好?Python还是R语言?