Куча: наименьшее значение больше определенного значения - PullRequest
1 голос
/ 21 февраля 2020

Я слишком долго смотрю на это и не вижу дрова для деревьев. Я впервые смотрю на кучи в Python, и я не могу понять, как поместить условие, чтобы получить нужное мне значение.

У меня есть список кортежей, который передается в функцию .

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

в функции I heapify, затем вытолкнуть первый кортеж и сохранить его второе значение, «время окончания».

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

Затем я хочу получить следующее значение, которое удовлетворяет условию, когда первый di git в кортеже больше, чем endTime. 4 - время окончания. Итак, первое значение, которое удовлетворяет условию, это (5,8), так как 5 больше, чем 4, поэтому я хочу вспомнить следующее.

Я пробовал nSmallest с ключом, но не могу заставить это работать. Я могу попробовать пройтись по куче, чтобы найти и элемент, который соответствует моему состоянию, но тогда как мне вставить этот элемент? Я уверен, что это базовая c проблема, но мне нужна помощь!

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...