堆:大于某个值的最小值

2024-05-29 10:02:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我看这个看得太久了,看不见树木。这是我第一次在Python中研究堆,我不太清楚如何设置条件以获得所需的值

我有一个元组列表,它被传递到一个函数中

reqs = [(1, 4), (2, 5), (5, 8)]
myFunc(reqs)

在函数中,我对它进行heapify,然后弹出第一个元组并存储其第二个值“end time”

def myFunc(requests):
    heapq.heapify(requests)
    while(len(requests) != 0):       
        endTime = heapq.heappop(requests)[1] 

然后,我想得到满足条件的下一个值,其中元组中的第一个数字大于endTime。4是结束时间。满足条件的第一个值是(5,8),因为5大于4,所以这就是我想弹出的下一个值

我用钥匙试过nsmalest,但没法用。我可以尝试在堆中循环查找适合我的条件的元素,但是如何弹出该元素呢?我确信这是一个基本问题,但我需要帮助

提前谢谢


Tags: 函数元素列表timedefmyfunc条件requests

热门问题