Gegeven is een lijst met diagnoses van verscheidene dokters voor meerdere patiƫnten over een bepaalde periode. Elke diagnose vermeldt de ziekte (bv. griep, oorontsteking, enz.) en de dag waarop de diagnose gesteld is. Dagen worden eenvoudigweg genummerd (vanaf nul) t.o.v. een bepaalde referentiedag, bijvoorbeeld het begin van het jaar. De volgorde waarin de diagnoses opgelijst staan, is arbitrair.

Gevraagd wordt om na te gaan of er in de gegeven periode een epidemie van een bepaalde ziekte opgetreden is. We spreken van een epidemie als gedurende een periode van \(k\) opeenvolgende dagen strikt meer dan \(n\) diagnoses per dag van dezelfde ziekte voorkomen. De waarden van \(k\) en \(n\) worden als parameter meegegeven.

Opgave

Schrijf een Python-functie zoekEpidemie(diagnoses:list, k:int, n:int) die de collectie teruggeeft van alle ziektes waarvan een epidemie werd vastgesteld. De diagnoses worden als een lijst van tuples worden voorgesteld.

Voorbeelden

>>> zoekEpidemie([("cholera", 0),("dengue", 0),("cholera", 0),("cholera", 0),("cholera", 0),("cholera", 1),("cholera", 1),("cholera", 1),("cholera", 1),("cholera", 2),("cholera", 2),("dengue", 2),("cholera", 2),("cholera", 2)], 3,3)
{'cholera'}
>>> zoekEpidemie([("cholera",0),("cholera",0),("cholera",0),("cholera",0),("cholera",0),("cholera",1),("cholera",1),("cholera",1),("cholera",1),("cholera",5),("cholera",5),("cholera",5),("cholera",5),("cholera",6),("cholera",6),("cholera",6),("cholera",6),("cholera",6)],3,3)
set()
>>> zoekEpidemie([("cholera",0),("cholera",0),("cholera",0),("cholera",1),("cholera",1),("cholera",1),("cholera",1),("cholera",2),("cholera",2),("cholera",3),("cholera",3),("cholera",3),("cholera",4),("cholera",4),("cholera",4)],3,2)
set()
>>> zoekEpidemie([("cholera",0),("dengue", 0),("dengue", 3),("dengue", 5),("cholera",2),("cholera",1),("dengue", 2),("cholera",3),("dengue", 4)],4,0)
{'cholera', 'dengue'}
>>> zoekEpidemie([],1,1)
set()