【错题集-编程题】主持人调度(二)(贪心 + 优先级队列)

简介: 【错题集-编程题】主持人调度(二)(贪心 + 优先级队列)

f47889f806c04e128e51ba36c038f42a.png

一、分析题目

把区间按照左端点排序,然后搞个堆:

  1. 先把第⼀个区间的右端点加⼊到堆中。
  2. 遍历后⾯的区间,分情况讨论:(1)如果左端点大于等于堆顶元素,能接在后面,干掉堆顶,然后把这个区间的右端点加⼊堆。(2)否则,只能再来⼀个人,只把这个区间的右端点加⼊堆。
  3. 最后堆的大小就是需要的⼈数

二、代码

//O(NlogN)
class Solution
{
public:
    int minmumNumberOfHost(int n, vector<vector<int> >& startEnd) 
    {
        sort(startEnd.begin(), startEnd.end());
        priority_queue<int, vector<int>, greater<int>> heap; // 创建⼀个⼩根堆
        heap.push(startEnd[0][1]); // 先把第⼀个区间放进去
 
        for(int i = 1; i < n; i++) // 处理剩下的区间
        {
            int a = startEnd[i][0], b = startEnd[i][1];
            if(a >= heap.top()) // 没有重叠
            {
                heap.pop();
                heap.push(b);
            }
            else // 有重叠
            {
                heap.push(b); // 重新安排⼀个⼈
            }
        }
        return heap.size();
    }
};

三、反思与改进

对优先级队列掌握的还不够熟悉,导致想不起可以用这个容器来解决问题。因为主持人可以主持多场活动,所以不能直接遍历比较。


相关文章
|
Linux
Linux:ln创建删除软连接
Linux:ln创建删除软连接
2202 0
|
Oracle Ubuntu Java
Ubuntu安装JDK
一. Ubuntu 安装JDK的两种方式 1. 通过apt安装. 2. 通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 二. 通过apt安装(jdk有很多版本, 这里介绍两种: openjdk和oracle的JDK) 1.
72572 4
|
1月前
|
人工智能 测试技术 API
GPT-5.2与Gemini 3.0终极抉择:谁更适配你的需求?
GPT-5.2与Gemini 3.0巅峰对决:前者全场景强势,推理精准,适配专业高负载任务;后者垂直深耕多模态与研究场景,性价比突出。性能、成本、生态各异,选择关键在于匹配自身需求——追求极致能力选GPT-5.2,注重实用成本选Gemini 3.0。
259 0
|
11月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【注意力机制篇】| 2024 PPA 并行补丁感知注意模块,提高小目标关注度
RT-DETR改进策略【注意力机制篇】| 2024 PPA 并行补丁感知注意模块,提高小目标关注度
263 2
RT-DETR改进策略【注意力机制篇】| 2024 PPA 并行补丁感知注意模块,提高小目标关注度
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
什么是智能搜索
智能搜索融合了人工智能和大数据技术,提供高效的语义理解、多模态数据处理及个性化推荐。它不仅支持传统关键词匹配,还结合NLP、机器学习等先进技术,提升信息检索的精准度与多样性。适用于电商、内容平台、多媒体及企业内部知识库等多种场景,显著优化用户体验和业务效率。
1562 2
|
11月前
|
人工智能 自然语言处理 DataWorks
DataWorks X DeepSeek : 用AI实现数据开发治理!
DataWorks X DeepSeek : 用AI实现数据开发治理!
377 3
|
9月前
|
数据采集 SQL 人工智能
长文详解|DataWorks Data+AI一体化开发实战图谱
DataWorks是一站式智能大数据开发治理平台,内置阿里巴巴15年大数据建设方法论,深度适配阿里云MaxCompute、EMR、Hologres、Flink、PAI 等数十种大数据和AI计算服务,为数仓、数据湖、OpenLake湖仓一体数据架构提供智能化ETL开发、数据分析与主动式数据资产治理服务,助力“Data+AI”全生命周期的数据管理。
1484 5
|
11月前
|
人工智能 自然语言处理 DataWorks
DataWorks X DeepSeek : 用AI实现数据开发治理!
阿里云DataWorks正式接入DeepSeek-R1系列模型,用户可通过DataWorks Copilot智能助手,以自然语言交互完成代码操作,实现数据开发、分析与治理全流程。DataWorks内置阿里巴巴16年大数据建设方法论,支持多种大数据引擎和AI计算服务,助力“Data+AI”全生命周期管理。开通DataWorks后即可免费体验DataWorks Copilot。
|
消息中间件 Java 中间件
Java中的消息中间件与异步通信实现
Java中的消息中间件与异步通信实现
|
存储 编译器 内存技术
【计算机组成原理】中央处理器
【计算机组成原理】中央处理器
773 1
【计算机组成原理】中央处理器

热门文章

最新文章