【错题集-编程题】主持人调度(一)(排序)

简介: 【错题集-编程题】主持人调度(一)(排序)


一、分析题目

区间问题技巧:左端点排序或者按照右端点排序。

左端点排序后,仅需考虑后续区间是否能与前⼀个区间重叠即可。


二、代码

1、没看题解之前AC的代码

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param schedule int整型vector<vector<>> 
     * @return bool布尔型
     */
    bool hostschedule(vector<vector<int> >& schedule) {
        vector<int> t;
        sort(schedule.begin(), schedule.end());
        int n=schedule.size();
        for(int i=0; i<n; i++)
        {
            t.push_back(schedule[i][0]);
            t.push_back(schedule[i][1]);
        }
        for(int i=0; i<n-1; i++)
            if(t[i]>t[i+1])
                return false;
        return true;
    }
};

2、值得学习的代码

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param schedule int整型vector<vector<>> 
     * @return bool布尔型
     */
    bool hostschedule(vector<vector<int> >& schedule) {
        sort(schedule.begin(), schedule.end());
        int n=schedule.size();
        for(int i=1; i<n; i++)
            if(schedule[i][0]<schedule[i-1][1])
                return false;
        return true;
    }
};

三、反思与改进

我的思路是:将所有活动的开始时间 starti 和结束时间 endi 都放进数组 t 当中,然后遍历数组 t,如果前一个时间大于后一个时间,则一定会发生时间冲突。思路是正确的,但忘记在最开始对 schedule 的左端点进行排序了,这样就导致可能所给的 schedule 里后面的时间段的开始时间小于前面时间段的时间。


相关文章
【期末不挂科-单片机考前速过系列P6】(第六章:10题速过定时计数器的结构和工作方式例题)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P6】(第六章:10题速过定时计数器的结构和工作方式例题)经典例题盘点(带图解析)
|
4月前
|
监控 数据挖掘
IEC104初学者教程,第九章:计数量召唤流程详解
在IEC 60870-5-104(简称IEC104)协议中,计数量召唤(Counter Interrogation,简称CI)是一种特定的功能,用于获取远程终端设备(RTU)中的计数值。这些计数值通常是累计数据,如电能表的累计电量等。计数量召唤流程与总召唤类似,但有其独特的步骤和信息结构。以下是计数量召唤的基本流程:
56 4
IEC104初学者教程,第九章:计数量召唤流程详解
|
7月前
|
C++ 芯片
【期末不挂科-C++考前速过系列P4】大二C++实验作业-继承和派生(3道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P4】大二C++实验作业-继承和派生(3道代码题)【解析,注释】
|
7月前
|
调度 容器
【错题集-编程题】主持人调度(二)(贪心 + 优先级队列)
【错题集-编程题】主持人调度(二)(贪心 + 优先级队列)
|
7月前
|
算法
【错题集-编程题】城市群数量
【错题集-编程题】城市群数量
|
7月前
【错题集-编程题】春游(模拟 - 分情况讨论)
【错题集-编程题】春游(模拟 - 分情况讨论)
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 数列排序(四种语言对照)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 数列排序(四种语言对照)
47 0
|
7月前
【中级软件设计师】—(针对上午题)输入输出控制方式(二十)
【中级软件设计师】—(针对上午题)输入输出控制方式(二十)
|
存储 机器学习/深度学习 算法
【第十四届蓝桥杯考前速成】必考知识点及代码模板总结,看完至少多拿50分
四、简单图论 1、单源最短路径 2、多源最短路 3、最小生成树 五、动态规划 1、0-1背包 2、完全背包 3、多重背包 4、线性DP 总结
171 0
|
机器学习/深度学习 机器人 API
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)-1
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)
119 0
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)-1