1508. Bereichssumme sortierter Subarray-Summen
Mittel
Sie erhalten die Array-Zahlen bestehend aus n positiven Ganzzahlen. Sie haben die Summe aller nicht leeren kontinuierlichen Unterarrays aus dem Array berechnet und sie dann in nicht absteigender Reihenfolge sortiert, wodurch ein neues Array mit n * (n + 1) / 2 Zahlen erstellt wurde.
Gib die Summe der Zahlen vom Index links zum Index rechts (indiziert ab 1) einschließlich im neuen Array zurück. Da die Antwort eine große Zahl sein kann, geben Sie sie modulo 109 + 7.
zurückBeispiel 1:
Beispiel 2:
Beispiel 3:
Einschränkungen:
Hinweis:
Lösung:
Um dieses Problem zu lösen, können wir die folgenden Schritte ausführen:
Lassen Sie uns diese Lösung in PHP implementieren: 1508. Bereichssumme sortierter Subarray-Summen
Erläuterung:
Subarray-Summen generieren:
- Durchlaufen Sie jeden Startindex i des Subarrays.
- Berechnen Sie für jeden Startindex i die Summe der Subarrays, die bei Index j enden (wobei j >= i).
- Hängen Sie jede berechnete Subarray-Summe an das $sums-Array an.
Sortieren der Summen:
- Verwenden Sie die Funktion sort() von PHP, um das Array $sums in nicht absteigender Reihenfolge zu sortieren.
Summierung des erforderlichen Bereichs:
- Iterieren Sie vom linken 1-Index zum rechten 1-Index (da das Problem eine 1-basierte Indizierung verwendet).
- Akkumulieren Sie die Summe der Elemente in diesem Bereich und achten Sie darauf, Modulo 109 + 7 zu verwenden, um einen Überlauf zu vermeiden.
Diese Lösung generiert effizient alle Subarray-Summen, sortiert sie und berechnet die erforderliche Bereichssumme wie angegeben.
Kontaktlinks
Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, dem Repository einen Stern auf GitHub zu geben oder den Beitrag in Ihren bevorzugten sozialen Netzwerken zu teilen? Ihre Unterstützung würde mir sehr viel bedeuten!
Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:
Das obige ist der detaillierte Inhalt vonBereichssumme sortierter Subarray-Summen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!