Je wil een feestje geven en verscheidene van je vrienden zijn bereid om een gedeelte van de avond in de bar te helpen. Bijvoorbeeld:
Ontwerp een efficient algoritme dat, gegeven een lijstje met de uren waarop mensen willen helpen, controleert of er op elk tijdstip tussen een gegeven begin- en einduur iemand in de bar is om te helpen.
Schrijf een Python-functie feestje(intervallen: list, start: int, stop: int)
die controleert of er voldoende helpers zijn voor een feestje met het gegeven start- en einduur. Zo ja, dan wordt er True
teruggegeven, anders False
.
Een tuple met 2 elementen (start, stop)
wordt gebruikt om het tijdsinterval voor te stellen waartussen iemand wil helpen. Tijdstippen worden eenvoudig voorgesteld als timestamps met een arbitraire tijdseenheid. Merk op: De starttijd is steeds inclusief, maar de stoptijd is exclusief.
>>> feestje([(592, 628), (646, 700), (556, 610), (631, 643)], 592, 700)
False
>>> feestje([(592, 628), (646, 700), (556, 610), (592, 646)], 592, 700)
True
>>> feestje([(100, 101)], 100, 101)
True
>>> feestje([], 100, 101)
False
>>> feestje([], 100, 100)
True