Als du das schriebst habe ich mein 1. Posting verfasst
Die Lösung ist ja auch trivial.
Je nach Anforderung hat Rene jetzt 2 mögliche Lösungen. Entweder kompakt und universel dafür bischen langsammer was aber meisten irrelevant sein wird, oder die schnellste Methode per Table Lookup. Die Lookup Methode dürfte kaum outperformed werden durch andere Verfahren sie hat O(1) Komplexität egal wie das Array aussieht
Die Lookup Methode hat eben den Nachteil das sie mehr Speicher benötigt, aber das ist bei solchen Optimierungen immer der Fall.
Er brauch jetzt nur noch eine Funktion die das "Prozent-array" per GCD optimiert und daraus ein minimal Lenght Array[] für die Bereiche erzeugt.
Gruß Hagen