Heim  >  Artikel  >  Backend-Entwicklung  >  Ordnen Sie eine Binärzeichenfolge an, um den Maximalwert innerhalb des Indexbereichs zu erhalten. C/C++?

Ordnen Sie eine Binärzeichenfolge an, um den Maximalwert innerhalb des Indexbereichs zu erhalten. C/C++?

WBOY
WBOYnach vorne
2023-09-11 23:53:071222Durchsuche

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.

Beispiel

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen