Een weerkundig instituut krijgt dagelijks een bestand met de metingen van het ozongehalte in de lucht op een aantal vastgelegde meetplaatsen. Het ozongehalte wordt hierbij uitgedrukt als een reëel getal en de meetplaatsen als een String. In deze oefening krijg je van enkele dagen de metingen van al de vastgelegde meetplaatsen. Er wordt gevraagd om te bepalen in welke meetplaatsen het ozongehalte op meer dan \(k\) dagen een bepaalde gegeven kritische waarde overschreed.

Ontwerp een algoritme voor dit probleem en geef aan hoe daarbij de standaard datatypes kunnen worden gebruikt. Denk ook na over de tijdscomplexiteit van je algoritme.

Implementeer de interface OzonAnalyse1 in een klasse genaamd MijnOzonAnalyse. Hiervoor schrijf je een methode public Collection<String> risicoGebieden(List<Meting> metingen, int k, double kritischeWaarde), die een lijst van metingen als argument heeft, alsook een natuurlijk getal \(k\) en een reëel getal dat de kritische waarde voorstelt. De elementen van de lijst metingen zijn van het type Meting. Een object uit de gegeven klasse Meting2 bevat de meetplaats waar de meting plaatsvond en het ozongehalte op deze plaats. De uitvoer van de methode risicoGebieden is een collectie van meetplaatsen wiens ozongehalte de kritische waarde meer dan \(k\) maal overschreden heeft.

Gebruik eventueel de testklasse SimpleTest3 om je oplossing lokaal te testen. Je kan hierin eenvoudig extra testgevallen toevoegen.

Opmerking

Het is niet toegestaan om de input van de methode risicoGebieden aan te passen. Indien je dit wel doet, zal de test falen.