华为OD机试- 支持优先级的队列

344 阅读2分钟

实现一个支持优先级的队列,高优先级先出队列,同优先级时先进先出。

如果两个输入数据和优先级都相同,则后一个数据不入队列被丢弃。

队列存储的数据内容是一个整数。

输入描述

一组待存入队列的数据(包含内容和优先级)。

输出描述

队列的数据内容(优先级信息输出时不再体现)。

补充说明

不用考虑数据不合法的情况,测试数据不超过100个。

示例1

输入:

(10,1),(20,1),(30,2),(40,3)

输出:

40,30,10,20

说明:

输入样例中,向队列写入了4个数据,每个数据由数据内容和优先级组成。输入和输出内容都不含空格。数据40的优先级最高,所以最先输出,其次是30:10和20优先级相同,所以按输入顺序输出

示例2

输入:

(10,1),(10,1),(30,2),(40,3)

输出:

40,30,10

说明:

输入样例中,向队列写入了4个数据,每个数据由数据内容和优先级组成输入和输出内容都不含空格。

数据40的优先级最高,所以最先输出,其次是30;两个10和10构成重复数据,被丢弃一个。

Java 实现:2023华为od机试真题B卷【支持优先级的队列】Java 实现

Python实现:华为od统一考试B卷【支持优先级的队列】Python 实现

C++ 实现:2023华为od机考B卷【支持优先级的队列】C++ 实现

JavaScript实现:2023华为od机考B卷【支持优先级的队列】JavaScript 实现

C实现:2023 华为OD机试(C语言)真题【A卷+B卷】