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

文字列にC++で偶数の長さのパリンドロームサブ文字列が含まれているかどうかを確認します


小文字のみを含む文字列が与えられたとします。私たちのタスクは、指定された文字列に回文であり、長さが均一な部分文字列が存在するかどうかを確認することです。見つかった場合は1を返し、それ以外の場合は0を返します。

したがって、入力が「午後」のような場合、出力はtrueになります。

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

  • 初期化x:=0の場合、x <文字列の長さ-1の場合、xを1増やし、-
      を実行します。
    • string[x]がstring[x+ 1]と同じ場合、次のようになります。
      • trueを返す
  • falseを返す

例(C ++)

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

#include <bits/stdc++.h>
using namespace std;
bool solve(string string) {
   for (int x = 0; x < string.length() - 1; x++) {
      if (string[x] == string[x + 1])
         return true;
   }
   return false;
}
int main() {
   cout<<solve("afternoon") <<endl;
}

入力

"afternoon"

出力

1

  1. Pythonで文字列に偶数の長さのパリンドロームサブ文字列が含まれているかどうかを確認します

    文字列sがあるとします。この文字列に一定の長さの回文が含まれているかどうかを確認する必要があります。 したがって、入力がs =afternoonのような場合、 afternoonの長さは回文noonであるため、出力はTrueになります。 これを解決するには、次の手順に従います。 0から文字列のサイズ-1までの範囲のiの場合、do string[i]がstring[i+ 1]と同じ場合、 Trueを返す Falseを返す 理解を深めるために、次の実装を見てみましょう- 例 def solve(string):    for i in range (0,

  2. 文字列をチェックするプログラムに、Pythonで連続して降順の文字列が含まれているかどうか

    いくつかの数字を含む文字列sがあるとすると、連続して降順の整数が含まれているかどうかを確認する必要があります。 したがって、入力がs =99989796の場合、この文字列は[99,98,97,96] を保持しているため、出力はTrueになります。 これを解決するために、次の手順に従います- 関数helper()を定義します。これにはpos、prev_numが必要です posがnと同じ場合、 Trueを返す num_digits:=prev_numの桁数 num_digits-1からnum_digitsの範囲のiの場合、実行 s[インデックス位置から位