ホームページ  >  記事  >  バックエンド開発  >  最小の部分文字列を持つ 2 つの部分文字列を検索する C++ コード

最小の部分文字列を持つ 2 つの部分文字列を検索する C++ コード

WBOY
WBOY転載
2023-09-06 14:41:14890ブラウズ

最小の部分文字列を持つ 2 つの部分文字列を検索する C++ コード

n 個の文字を含む小文字の文字列 S があるとします。空ではない 2 つを見つける必要があります −

  • P と Q がどちらも S

  • の部分列であるような部分文字列 P と Q。各インデックス i に対して、S[i ] は以下に属します。 PとQのうちの唯一のもの。

  • P は辞書編集上可能な限り小さいものです。

つまり、入力が S = "thelightsaber" の場合、赤いものが 2 つ必要なので、出力は 10 になります。

ノート、緑のノート 3 冊と青いノート 5 冊。

手順

この問題を解決するには、次の手順に従います。

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

Example

理解を助けるために、以下の実装を見てみましょう -

#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);
}

入力

"thelightsaber"

出力

a, thelightsber

以上が最小の部分文字列を持つ 2 つの部分文字列を検索する C++ コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。