LeetCode435—无重叠区间(java版)
题目描述:
标签:贪心算法
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。
注意:
可以认为区间的终点总是大于它的起点。
区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。
代码:
思路分析:思路同用最少数量的箭引爆气球
1、首先按照右边界从小到大排序
2、每次比较intervals[i][0] < intervals[i-1][1]
①满足,说明这个区间重叠,需要统计重叠部分的最小右边界,给之后的区间留足够大的空间(体现贪心)
②不满足,说明没有重叠,统计不重叠区间的个数
3、返回总区间个数-不重叠区间个数
class Solution {public int eraseOverlapIntervals(int[][] intervals) {if(intervals.length == 0) return 0;Arrays.sort(intervals,new Comparator<int[]>(){public int compare(int[] interval1,int[] interval2){if(interval1[1] > interval2[1]){return 1;}else if(interval1[1] < interval2[1]){return -1;}else{return 0;}}});int count = 1;for(int i = 1;i < intervals.length;i++){if(intervals[i][0] < intervals[i-1][1]){intervals[i][1] = Math.min(intervals[i][1],intervals[i-1][1]);}else{count++;}}return intervals.length - count;}
}
LeetCode435—无重叠区间(java版)相关推荐
- Leetcode-435:无重叠区间
题目链接 Leetcode-435:无重叠区间 题目描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2 ...
- leetcode435. 无重叠区间(贪心算法)
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触",但没有相互 ...
- leetcode435. 无重叠区间
一:论语 道不同 不相为谋 我们没有理由拿着自己的评判标准 去看待别人所经历的事情,重来就没有真正的感同身受,我们能做的就是尊重他人的看法 ,保留自己的态度. 二:题目 三:上码 class Solu ...
- 贪心算法无重叠区间c语言,贪心算法之区间问题.md
--- title: 贪心算法之区间问题 tags: - Leetcode categories: - Leetcode author: 四叶草 top: false abbrlink: 26230 ...
- 通俗易懂:贪心算法(二):区间问题 (力扣435无重叠区间)
看完本文,可以顺便解决leetcode以下题目: 435.无重叠区间(中等) 一.通俗易懂的 贪心算法 |思想 (重复一次~~~) 贪心算法就是采用贪心的策略,保证每一次的操作都是局部最优的,从而使得 ...
- 无重叠区间及用最少的箭射爆气球
无重叠区间及用最少的箭射爆气球 文章目录 无重叠区间及用最少的箭射爆气球 **一:开胃菜** **二.无重叠区间** **三.用最少的箭射爆气球** 一:开胃菜 在开始所无重叠区间前先做一道简单的提来 ...
- 435. 无重叠区间
435. 无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触& ...
- 力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间
本次题目 55 跳跃游戏 45 跳跃游戏II 452 用最少数量的箭引爆气球 435 无重叠区间 763 划分字母区间 56 合并区间 55 跳跃游戏 局部最优:不管每次跳多少步,取最大跳跃步数,若覆 ...
- day36-435. 无重叠区间
435. 无重叠区间 思路: 遇到二维数组的区间问题,先排序.画图,按照start递增排序,如果start相等则按照end递增. 为什么按照start递增排序?保证start有序,每个item的sta ...
最新文章
- java并发框架支持锁包括,tip/面试题_并发与多线程.md at master · 171437912/tip · GitHub...
- ping mac地址_局域网ip地址如何显示?一个软件搞定
- Maven之(二)Maven生命周期
- 设计模式-静态工厂之服务提供者框架
- Raft算法和开源实现
- 电脑实用mysql后C盘内存不足_电脑高手用这方法,终于解决了C盘空间不足的问题,网友:这操作服了...
- Generic Polygon Module in MAME 0.120u1
- 合成资产平台Public Mint与跨链资产协议Knit Finance达成合作
- java ee 程序_第一个 JavaEE 应用程序 - JavaWeb 入门开发教程
- 用Python怎样实现Excel中的公式向下填充?
- AI大神各显神通!百度深度学习集训营作品大赏
- 斐讯k2虚拟服务器设置,斐讯K2调配设置
- HTML中的Switch开关
- 如何计算CRC校验码(循环冗余检验码)
- java date 设置时区,Java 日期时区
- windows mysql 学习笔记 第八天
- java腾讯云人脸核身移动浮层H5接入
- 说明所有BeanPostProcessor的触发时机
- 三极管PNP与NPN控制区别
- limma包进行差异分析
热门文章
- 面试了一位3年多开发经验程序员,期望工资10K
- css3 纯css实现绘制三角形、箭头效果
- 进化:从孤胆极客到高效团队_极客历史记录的本周:微软上市,阿尔伯特·爱因斯坦的诞生,互联网成为跨洋的...
- 南充市住房公积金领取流程
- Max导入Sketchup单位不一致的设置
- Python之函数对象
- ListView与Adapter之间的观察者模式
- linux创建用户、用户组、授权读写权限等权限相关常用命令
- python中的pandas的两种基本使用_python数据分析:pandas基本操作
- Baumer工业相机堡盟相机如何进行固件升级