题目
在这个队列里,数字由它的优先级决定出列顺序:优先级高的先出,相同优先级按先进先出原则。注意,队列里不能有重复的数字。
输入:一堆数字和对应的优先级,比如 (10,1),(20,1),(30,2),(40,3)。
输出:按照规则排列后的数字,如上述输入应输出 40,30,10,20。
示例:
输入 (10,1),(20,1),(30,2),(40,3),输出 40,30,10,20。
输入 (10,1),(10,1),(30,2),(40,3),因有两个10,输出 40,30,10。
代码
def ordered_priority_queue(tasks):
# 创建一个字典用于收集具有相同优先级的数据。
# 字典的键是优先级,值是一个集合,用于去重并保持插入顺序。
data_map = {
}