文字列が厳密にアルファベット順であるかどうかをチェックする C++ プログラム

WBOY
リリース: 2023-09-05 17:01:26
転載
1315 人が閲覧しました

文字列が厳密にアルファベット順であるかどうかをチェックする C++ プログラム

n 個の小文字を含む文字列 S があるとします。次のルールに従っている場合、文字列は厳密にアルファベットの文字列です。

  • 空の文字列を T

  • に書き込み、次の 1 つのステップを実行します。 n 回;
  • i 番目のステップで、ラテンアルファベットの i 番目の小文字を取り出し、それを 文字列 T の左側または文字列 T の右側 (c はラテンアルファベットの i 番目の文字)。

S が厳密にアルファベット順の文字列順序であるかどうかを確認する必要があります。

問題カテゴリ

この問題を解決するには、文字列を操作する必要があります。プログラミング言語における文字列は、 特定の配列のようなデータ型に格納された文字のストリーム。多言語 文字列を特定のデータ型 (Java、C、Python など) および他のいくつかの言語として指定します。 文字列を文字配列 (C など) として指定します。文字列はプログラミングに役立ちます。 多くの場合、さまざまなアプリケーションで優先されるデータ型であり、入力データ型として使用されます。 そして出力します。文字列検索、部分文字列生成、 文字列除去操作、文字列変換操作、文字列置換操作、文字列 逆の操作など。文字列の仕組みについては、以下のリンクをご覧ください。 C/Cで使用されます。

https://www.tutorialspoint.com/cplusplus/cpp_strings.htm

https://www.tutorialspoint.com/cprogramming/c_strings。 htm

したがって、問題への入力が S = "ihfcbadeg" のようなものである場合、出力は True になります。

手順

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

len := size of S
for initialize i := len, when i >= 1, update (decrease i by 1), do:
   if S[l] is the i th character, then:
      (increase l by 1)
   otherwise when S[r] is the ith character, then:
      (decrease r by 1)
   Otherwise
      Come out from the loop
if i is same as 0, then:
   return true
Otherwise
   return false
ログイン後にコピー

理解を深めるために、次の実装を見てみましょう-

#include <bits/stdc++.h>
using namespace std;
bool solve(string S){
   int len = S.size(), l = 0, r = len - 1, i;
   for (i = len; i >= 1; i--){
      if (S[l] - &#39;a&#39; + 1 == i)
         l++;
      else if (S[r] - &#39;a&#39; + 1 == i)
         r--;
      else
         break;
   }
   if (i == 0)
      return true;
   else
      return false;
}
int main(){
   string S = "ihfcbadeg";
   cout << solve(S) << endl;
}
ログイン後にコピー

入力

"ihfcbadeg"
ログイン後にコピー

出力

1
ログイン後にコピー

以上が文字列が厳密にアルファベット順であるかどうかをチェックする C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート