贪心-最大相容区间-Maximum Number of Events That Can Be Attended
2020-02-16 16:24:19
问题描述:



问题求解:
看起来就像是sort + 贪心,但是具体如何做呢?
实际上本题是最大相容区间的变种题,在最大相容区间里,我们按照结束时间对interval进行排序,每次选择结束时间最早的进行安排。
这里其实也是一样,对每一天,我们在当天所有的events里挑选结束时间最早的进行安排即可。
如何维护当天所有的events呢?最常见的就是使用优先队列啦。
其实,就是扫描线算法。
public int maxEvents(int[][] events) {
int res = 0;
PriorityQueue<int[]> pq = new PriorityQueue<>((int[] o1, int[] o2) -> o1[1] == o2[1] ? o1[0] - o2[0] : o1[1] - o2[1]);
Arrays.sort(events, (int[] o1, int[] o2) -> o1[0] - o2[0]);
int idx = 0;
for (int day = 1; day <= 100000; day++) {
while (idx < events.length && events[idx][0] == day) {
pq.add(events[idx++]);
}
while (!pq.isEmpty() && pq.peek()[1] < day) pq.poll();
if (!pq.isEmpty()) {
pq.poll();
res += 1;
}
}
return res;
}
贪心-最大相容区间-Maximum Number of Events That Can Be Attended的更多相关文章
- POJ2699:The Maximum Number of Strong Kings(枚举+贪心+最大流)
The Maximum Number of Strong Kings Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2488 ...
- 【POJ2699】The Maximum Number of Strong Kings(网络流)
Description A tournament can be represented by a complete graph in which each vertex denotes a playe ...
- [CC-ANUGCD]Maximum number, GCD condition
[CC-ANUGCD]Maximum number, GCD condition 题目大意: 一个长度为\(n(n\le10^5)\)的数列\(A(A_i\le10^5)\),\(m(m\le10^5 ...
- 321. Create Maximum Number 解题方法详解
321. Create Maximum Number 题目描述 Given two arrays of length m and n with digits 0-9 representing two ...
- leetcode 402. Remove K Digits 、321. Create Maximum Number
402. Remove K Digits https://www.cnblogs.com/grandyang/p/5883736.html https://blog.csdn.net/fuxuemin ...
- iOS---The maximum number of apps for free development profiles has been reached.
真机调试免费App ID出现的问题The maximum number of apps for free development profiles has been reached.免费应用程序调试最 ...
- [LeetCode] Third Maximum Number 第三大的数
Given a non-empty array of integers, return the third maximum number in this array. If it does not e ...
- [LeetCode] Create Maximum Number 创建最大数
Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...
- LeetCode 414 Third Maximum Number
Problem: Given a non-empty array of integers, return the third maximum number in this array. If it d ...
随机推荐
- Python获取内网IP
Python 获取本机内网IP 本文记录使用Python获取本机IP的两种方法. 通过hostname来获取本机IP import socket print(socket.gethostbyname( ...
- Python-rediscluster客户端
# -*- coding: UTF-8 -*- import redis import sys from rediscluster import StrictRedisCluster #host = ...
- 写在APIO2016之前
时间过得真快.仿佛前天的我还在为联赛的MLE悲伤,昨天的我还在为省选看错题而崩溃,今天就到了APIO的前夜了.虽然明天不是正赛,但我的学弟们都是明天离开.也就是说,我只能为在遥远帝都的他们默默地祈祷了 ...
- 最强加密算法?AES加解密算法Matlab和Verilog实现
目录 背景 AES加密的几种模式 基本运算 AES加密原理 Matlab实现 Verilog实现 Testbench 此本文首发于公众号[两猿社],重点讲述了AES加密算法的加密模式和原理,用MATL ...
- sql的练习题
表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_i ...
- springboot配置文件读取pom文件信息
解决的问题 springboot(当然别的也可以)多环境切换需要该配置文件,打包时不够方便. 解决: 配置文件能读取pom文件中的配置,根据命令选择不同配置注入springboot的配置文件中 pom ...
- sql02
1.小练习: 一切数据都是有用的,当我们删除时只是象征性设置一个标志位: 2.SQL学习 1)创建数据库 create database DbName; 使用--注释 多行注释/**/ 2)删除数据库 ...
- 《javascript高级程序设计》笔记:文档模式
文档模式是用于指定浏览器使用什么样的标准来正确的显示网页,各个标准的解析存在着差异 文档类型的分类 文档模式大致分为三种类型: 混杂模式(quirks mode) 标准模式(standards mod ...
- Java实现生产者消费者(一)
问题描述:生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,生产者往存储空间中添加产品,消费者从存储空间中取走产品,当存储空间为空时,消费者阻塞,当存储空间满时 ...
- 第三篇:Linux的基本操作与文件管理(纯命令行模式下)(下)
接上篇介绍完软件的管理(查询.删除.安装)之后,本篇将介绍Linux的文件和目录的管理. 如何浏览Linux的目录(文件夹),就像Windows一样,我们平时需要打开各个目录,去里面找一找曾经悄悄存储 ...