页面加载中…
通过率 49% · 提交 490 · 通过 242
小慕正在为一家银行设计智能排队系统。银行将客户划分为5个,1级最高,5级最低。当客户办理业务时,优先级高的客户可以随时到优先级低的客户前面。 现在,小慕需要处理一个客户到达和银行办理业务的时间序列,请你帮助他在每次银行办理业务时输出当前应该服务的客户编号。如果同时有多个优先级相同且最高的客户,则按照他们到达的先后顺序进行服务。
这类题属于华为 OD 机考真题方向中「100分 / 排序」方向的高频题型,通常考察对「100分 / 排序」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
输入第一行是一个正整数 n,表示输入的序列中的事件数量。(1 ≤ n ≤ 500) 接下来有 n 行,每行第一个字符为 a 或 p 。 当字符为 a 时,后面会有两个的正整数 num 和 x ,表示到来的客户编号为 num ,优先级为 x ; 当字符为 p 时,表示当前优先级最高的客户去办理业务。
输出包含若干行,对于每个 p , 输出一行,仅包含一个正整数 num , 表示办理业务的客户编号。
示例 1
输入示例
4 a 1 3 a 2 2 a 3 2 p
输出示例
2
示例 2
输入示例
8 a 1 3 a 2 2 a 3 2 p a 4 3 a 5 1 a 6 2 p
输出示例
2 5
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有