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

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


一、分析题目

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

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


二、代码

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题速过定时计数器的结构和工作方式例题)经典例题盘点(带图解析)
|
3月前
|
存储 SQL 算法
高效日程管理:利用区间合并算法优化活动安排【python LeetCode57】
高效日程管理:利用区间合并算法优化活动安排【python LeetCode57】
|
4月前
|
调度 容器
【错题集-编程题】主持人调度(二)(贪心 + 优先级队列)
【错题集-编程题】主持人调度(二)(贪心 + 优先级队列)
|
4月前
【错题集-编程题】春游(模拟 - 分情况讨论)
【错题集-编程题】春游(模拟 - 分情况讨论)
|
4月前
|
算法
【错题集-编程题】城市群数量
【错题集-编程题】城市群数量
|
4月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 数列排序(四种语言对照)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-试题 基础练习 数列排序(四种语言对照)
37 0
|
机器学习/深度学习 机器人 API
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)-1
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)
105 0
【蓝桥杯省赛】冲刺练习题【经典题目练习】倒计时【01】天(准考证组委会已下发,请查询)-1
|
人工智能 Java BI
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)-2
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)
114 0
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)-2
|
机器学习/深度学习
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)-1
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)
106 0
【蓝桥杯省赛】冲刺练习题【数学公式】倒计时【06】天(准考证组委会已下发,请查询)-1
|
自然语言处理
【逻辑思训练营】「假设法专题」20210626系列专题(1-5)
【逻辑思训练营】「假设法专题」20210626系列专题(1-5)
83 0