Heim  >  Artikel  >  Backend-Entwicklung  >  C++-Code zum Suchen von zwei Teilzeichenfolgen mit einer minimalen Teilzeichenfolge

C++-Code zum Suchen von zwei Teilzeichenfolgen mit einer minimalen Teilzeichenfolge

WBOY
WBOYnach vorne
2023-09-06 14:41:14851Durchsuche

C++-Code zum Suchen von zwei Teilzeichenfolgen mit einer minimalen Teilzeichenfolge

Angenommen, wir haben eine Kleinbuchstabenzeichenfolge S, die n Zeichen enthält. Wir müssen zwei nicht leere finden Teilzeichenfolgen P und Q mit −

  • P und Q sind beide Teilfolgen von S

  • Für jeden Index i gehört S[i] zu einem und nur einem von P und Q.

  • P ist lexikografisch möglichst klein.

Wenn also die Eingabe S = „thelightsaber“ ist, dann ist die Ausgabe 10, weil wir 2 rote benötigen

Notizbücher, 3 grüne Notizbücher und 5 blaue Notizbücher.

Schritte

Um dieses Problem zu lösen, befolgen wir die folgenden Schritte:

c := S
sort the array c
a := position of (c[0]) in S
delete c from S
print c[0] and S

Beispiel

Sehen wir uns zum besseren Verständnis die Implementierung unten an –

#include <bits/stdc++.h>
using namespace std;
void solve(string S){
   string c = S;
   sort(c.begin(), c.end());
   int a = S.find(c[0]);
   S.erase(S.begin() + a);
   cout << c[0] << ", " << S << endl;
}
int main(){
   string S = "thelightsaber";
   solve(S);
}

Eingabe

"thelightsaber"

Ausgabe

a, thelightsber

Das obige ist der detaillierte Inhalt vonC++-Code zum Suchen von zwei Teilzeichenfolgen mit einer minimalen Teilzeichenfolge. 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