Moin!
Vierstellige Zahlen in einer Schleife sind ja noch nicht so das Performanceproblem.
Du könntest evtl. noch optimieren, wenn du von den aktuell betrachteten Bereichen (also die in der Liste von der ich spreche) nicht die Zahlen einzeln durchgehst, sondern gleich bis dahin, wo alle Bereiche noch gelten. Sprich bis zur kleinsten Endezahl der Bereiche
Es ist relativ einfach:
Alle Zahlenwerte, also Start wie Endwerte, werden aufsteigend sortiert. Startwerte werden mit "+1" gezählt, Endwerte mit "-1". Jetzt geht man nacheinander alle sortierten Werte durch, addiert den Wert (Start/Ende) und ermittelt das Maximum.
Randbedingung: Das Minimum darf nicht kleiner als 0 werden, am Ende muss 0 wieder genau erreicht werden, und das Maximum kann nicht größer als die Gesamtzahl aller Bereiche sein.
Sicherlich kann man das ganze auch noch grafischer lösen, indem man sich einen Baum erstellt und dessen Tiefe ermittelt.
- Sven Rautenberg