C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でアルファベット順に部分文字列の数を検索します


長さnの文字列があるとします。大文字のみが含まれます。文字がアルファベット順に出現している部分文字列の数を見つける必要があります。サブストリングの最小サイズは2になります。したがって、ストリングが「REFJHLMNBV」のようで、サブストリング数が2の場合、「EF」と「MN」になります。

したがって、これを解決するには、次の手順に従います-

  • str [i]+1がstr[i+ 1]と同じかどうかを確認し、同じである場合は、結果を1増やし、アルファベット順以外の次の文字まで文字列を繰り返します。それ以外の場合は続行します。

#include<iostream>
using namespace std;
int countSubstr(string main_str) {
   int res = 0;
   int n = main_str.size();
   for (int i = 0; i < n - 1; i++) {
      if (main_str[i] + 1 == main_str[i + 1]) {
         res++;
         while (main_str[i] + 1 == main_str[i + 1]) {
            i++;
         }
      }
   }
   return res;
}
int main() {
   string str = "REFJHLMNBV";
   cout << "Number of substrings: " << countSubstr(str);
}

出力

Number of substrings: 2

  1. C ++を使用して、他の文字列に存在する1つの文字列の部分文字列の数を検索します

    この記事では、2つの文字列が与えられ、2番目の文字列で1番目の文字列のサブ文字列がいくつ見つかるかを調べる必要があります(正確なサブ文字列は複数回発生する可能性があります)。例 Input : string1 = “fogl”    string2 = “google” Output : 6 Explanation : substrings of string1 present in string2 are [ “o”, “g”, “l”, “

  2. C++を使用して文字列の部分文字列の数を見つける

    この記事では、特定の文字列に形成できるサブ文字列(空ではない)の数を見つけるためのアプローチについて学習します。 Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and &