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

WBOY
リリース: 2023-09-06 14:41:14
転載
907 人が閲覧しました

最小の部分文字列を持つ 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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート