解析输入为整数序列(可能整行带双引号,如 "8 2 13";实现优先做字面量/替换解析)。
按奇偶分成两队列:
QueueA:奇数(普通客户),保持输入顺序。QueueB:偶数(VIP),整体一次性降序排序。合并规则:循环执行“先最多取 3 个 QueueB,再取 1 个 QueueA”;若某队列空,则将另一个队列剩余依既定顺序追加。
算法要点:线性分区 + 偶数部分降序排序 + 双指针按“3:1”节奏合并。
银行有两类客户:普通客户(编号为奇数)和 VIP 客户(编号为偶数)。你需要设计一个程序,将客户编号按照以下规则分配到两个队列中:
QueueA 存储普通客户(奇数),按输入顺序排列。
QueueB 存储 VIP 客户(偶数),按编号从大到小排序。
最终处理顺序:
先处理 VIP 客户 (QueueB)
每处理 3 个 VIP 客户后,必须处理 1 个普通客户 (QueueA)
当其中一个队列为空时,处理剩余的客户。最终输出:按上述规则处理后的客户编号序列。
输入与输出
输入:一行正整数,表示客户编号列表(以空格分隔)。
输出:处理顺序的客户编号序列(以空格分隔,末尾无多余空格)
QueueA(奇数):[1,3,9,11,13,15](保持输入顺序)。
QueueB(偶数):[8,2,4]→降序排序为[8,4,2]。
处理顺序:
输入
"8 2 1 3 9 4 11 13 15"
输出
"8 4 2 1 3 9 11 13 15"
本题属于以下题库,请选择所需题库进行购买