美文网首页
201609-2 火车购票

201609-2 火车购票

作者: Vsion8980 | 来源:发表于2021-03-18 13:19 被阅读0次

    此题比较常规,时间复杂度n²。

    题解1

    对命令进行循环处理
    使用一个全局vector存储座位状态信息。

    每个命令从第一排开始查找,找到当前排的第一个空座开始,累加空座位坐标(不一定相连)。
    由于每一排固定5个座位,找到第一个空座,也即找到了当前排的剩余空座数,即最大空余邻座数
    如果最大空余邻座数满足命令要求,就可以将此组座位锁定,记录坐标

    如果整个车厢都没有满足命令要求的空余邻座,那么就安排小号空座位
    注意:无需判断是否无座,因为题目已经说明购票数量不大于100,因此不必在这个问题上浪费时间和空间

    最后,将坐标转换为座号即可。

    题解2

    在题解1思路的基础上,使用一个一维向量存储每排空座数,由于座位是从小到大按序安排,所以,空座位置必定是大号的数量,

    比如:第一排空座数3,那么空座位一定是(1,3)、(1,4)、(1,5)

    据此可以减少时间消耗,省去了在每排中的列中循环判断的步骤。属于经典的空间换时间。

    但是,提升不明显。

    相关文章

      网友评论

          本文标题:201609-2 火车购票

          本文链接:https://www.haomeiwen.com/subject/eabucltx.html