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.
De gegeven klasse Interval
1 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.
Implementeer de interface Party
2 in een klasse MyParty
. De gevraagde methode public boolean check(List<Interval> helpers, int start, int stop)
controleert of er voldoende helpers zijn voor een feestje met het gegeven start- en einduur. Zo ja, dan wordt er true
teruggegeven, anders false
.
Gebruik eventueel de testklasse3 SimpleTest
om je oplossing lokaal te testen. Je kan hierin eenvoudig extra testgevallen toevoegen.