Heim > Artikel > Backend-Entwicklung > Ordnen Sie eine Binärzeichenfolge an, um den Maximalwert innerhalb des Indexbereichs zu erhalten. C/C++?
Für eine gegebene Zeichenfolge bestehend aus 0 und 1 erhalten wir M disjunkte Bereiche A, B (A
Die Aufgabe besteht darin, eine legale oder gültige Permutation zu finden, die gleichzeitig die folgenden zwei Bedingungen erfüllt: −
Die Summe der Zahlen zwischen allen M gegebenen Bereichen ist die größte.
Die Zeichenfolge ist lexikographisch die größte. Zeichenfolge 1100 hat eine höhere lexikografische Reihenfolge als Zeichenfolge 1001.
Input 11100 3 3 4 5 5 Output 00111 First we put 1’s in position 3 and 4 then in 5 as there are no 1’s left, the string formed is 00111. Input 0000111 2 1 1 1 2 Output 1110000
Im obigen Beispiel geben wir zuerst 1 an der 1. und 2. Position ein, dann bleibt noch eine „1“ übrig,
Also verwenden wir dies, um die Zeichenfolge gemäß „Maximieren der lexikografischen Reihenfolge“ zu erstellen und platzieren Sie es an der 3. Position, wodurch die Neuanordnung abgeschlossen ist.
Das obige ist der detaillierte Inhalt vonOrdnen Sie eine Binärzeichenfolge an, um den Maximalwert innerhalb des Indexbereichs zu erhalten. C/C++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!