贪心算法:区间调度问题
母问题描述:
在一个会场中,安排活动,给定所有活动的开始时间与结束时间的集合放在数组nums[n][2]中。求问最多能安排几场活动,使每场活动之间的时间不冲突。

    public static int intervalSchedule(int[][] intvs){if (intvs.length==0) return 0;Arrays.sort(intvs, new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {return o1[1]-o2[1];}});int cnt = 1;int end = intvs[0][1];//Myself写法for (int i=1;i<intvs.length;i++){if (intvs[i][0]>=end){cnt++;end = intvs[i][1];}}return cnt;}

例题:
1.题目:

思路:先求不会重叠的,用intvs.length-cnt;得到需要移除的数量。

    public static int intervalSchedule(int[][] intvs){if (intvs.length==0) return 0;Arrays.sort(intvs, new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {return o1[1]-o2[1];}});int cnt = 1;int end = intvs[0][1];//Myself写法for (int i=1;i<intvs.length;i++){if (intvs[i][0]>=end){cnt++;end = intvs[i][1];}}return intvs.length-cnt;}

2.射气球问题

思路:

class Solution {public int findMinArrowShots(int[][] points) {if (points.length==0) return 0;Arrays.sort(points, new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {//return o1[1]-o2[1];return Integer.compare(o1[1], o2[1]);//防止差值过大而使用的比较方法!比如:{{-2147483646,-2147483645},{2147483646,2147483647}}}});int cnt = 1;int end = points[0][1];for (int[] interval : points) {int start = interval[0];// 把 >= 改成 > 就行了if (start > end) {cnt++;end = interval[1];}}return cnt;}
}

贪心算法:区间调度-射气球问题相关推荐

  1. 贪心算法—区间调度 电影节(POJ 4151)

    贪心算法--区间选取问题 或是区间调度问题 本文解决一个很经典的贪心算法问题 Interval Scheduling(区间调度问题).给你很多形如[start,end]的闭区间,请你设计一个算法,算出 ...

  2. java贪心算法 区间调度_贪心算法-区间调度问题解之证明(示例代码)

    一.贪心算法 定义:一个算法是贪心算法,如果它是通过一些小的步骤来一个求解,并且在每一步根据局部情况选择一个决定,使得某些主要的指标得到优化. 二.区间调度问题 1. 问题:我们有一组需求{1,2,3 ...

  3. matlab车辆贪心作业调度,贪心算法-区间调度-Interval Scheduling

    什么是贪心算法呢? 贪心算法可以认为是动态规划算法的一个特例,相比动态规划,使用贪心算法需要满足更多的条件(贪心选择性质),但是效率比动态规划要高. 比如说一个算法问题使用暴力解法需要指数级时间,如果 ...

  4. 贪心算法区间调度问题思路代码证明

    1.活动安排问题 问题:有若干个活动,第i个开始时间和结束时间是[Si,fi),只有一个教室,活动之间不能交叠,求最多安排多少个活动? 解题思路:将活动按照结束时间进行从小到大排序,挑选出结束时间尽量 ...

  5. 一份贪心算法区间调度问题解法攻略,拿走不谢

    作者 | labuladong 来源 | labuladong(ID:labuladong) [导读]什么是贪心算法呢?贪心算法可以认为是动态规划算法的一个特例,相比动态规划,使用贪心算法需要满足更多 ...

  6. 贪心算法——区间选点问题

    转载:https://blog.csdn.net/xia842655187/article/details/51944763 区间选点的问题大致可以描述为:  给定N个区间[a,b],取尽量少的点,使 ...

  7. 贪心算法-区间选点问题-种树

    [题目描述]一条街道的一边有几座房子.因为环保原因居民想要在路边种些树,路边的地区被分割成n块,并被编号为1~n.每块大小为一个单位尺寸且最多可总一棵树.每个居民想在门前种些树并制定了三个数b,e,t ...

  8. 57 - 算法 -贪心算法 - 区间不相交问题

    #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cmath ...

  9. 贪心算法(Greedy Algorithm)之霍夫曼编码

    文章目录 1. 贪心算法 2. 应用 2.1 找零钱 2.2 区间覆盖 2.3 霍夫曼编码 霍夫曼编码完整代码 1. 贪心算法 我们希望在一定的限制条件下,获得一个最优解 每次都在当前的标准下做出当下 ...

最新文章

  1. 鸿蒙初开踏青时主要内容,袖珍世界之鸿蒙初开
  2. 传感器的未来: 10年后我们将会生活在一个极端透明的世界
  3. BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 总结
  4. python强大体现在哪些方面-python应用于哪些方面
  5. 傲娇Android二三事之操蛋的开发日记(第一回)
  6. 稀疏自编码器_基于tf实现稀疏自编码和在推荐中的应用
  7. 清华博士生放弃科研,跑去当中学教师,值得吗?
  8. flex 点击空格键会有以前点击过的事件的保留
  9. Debian11服务器系统默认不存在sudo命令的解决办法
  10. NTA高性能Flow负载均衡及其应用
  11. SSLOJ 1335.蛋糕切割
  12. XML校验 黄色惊叹号!!!
  13. XML——XML的那些事
  14. codeforces #309 div1 D
  15. 取rtsp流数据_SDP在RTSP、国标GB28181、WebRTC中的实践
  16. 苹果手机怎么设置流量限制
  17. 实验2014062701:opencv对图像的点操作
  18. Agile Scrum WaterFall通俗易懂的全过程整理
  19. js实现夜空 干货比较多
  20. 桌面支持--skype登陆不上

热门文章

  1. Java Word转PDF Excel转PDF
  2. 从0到1:神经网络实现图像识别(中)
  3. C语言-输入一行英文字符串统计单词个数
  4. 九十年代计算机及应用,全国计算机等级考试历史发展
  5. 基于MATLAB的全工况前向碰撞预警模型学习
  6. 项目实战一 建立坐标系
  7. 【蓝桥杯】猴子分香蕉
  8. 汽车云市场:华为云、百度云上演追逐战
  9. Vue实战开发移动端旅游网站
  10. [享学Eureka] 十、简洁巧妙的小工具TimedSupervisorTask:自动调节执行间隔的周期性任务