华为OD机试 - 优先级队列(Python)

题目

在这个队列里,数字由它的优先级决定出列顺序:优先级高的先出,相同优先级按先进先出原则。注意,队列里不能有重复的数字。

输入:一堆数字和对应的优先级,比如 (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 = {
   }

    

你可能感兴趣的:(华为od,python,开发语言,华为机试)