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

配列をチェックするためのC++コードは、EqualNot-Equalシーケンスから形成できるかどうか


長さ.の文字列Sがあるとします。 n個の数があり、それらが円形に配置されていると考えてください。これらの数値の値はわかりませんが、S [i] ='E'の場合、i番目と(i + 1)番目の数値が同じであることを示しますが、それが' N'の場合、それらは異なります。 Sから、シーケンスを再作成できるかどうかを確認する必要があります。

したがって、入力がS ="ENNEENE"のような場合、[15,15,4,20,20,20,15]のような値を割り当てることができるため、出力はTrueになります。

ステップ

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

if S has single 'N', then:
   return false
return true

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

#include<bits/stdc++.h>
using namespace std;
bool solve(string S){
   if (count(S.begin(), S.end(), 'N') == 1)
      return false;
   return true;
}
int main(){
   string S = "ENNEENE";
   cout << solve(S) << endl;
}

入力

"ENNEENE"

出力

1

  1. アレイが回文であるかどうか、またはC++でSTLを使用していないかどうかを確認するプログラム

    n個の整数の配列arr[n]が与えられた場合、タスクは配列が回文であるかどうかを見つけることです。 C++でSTLを使用して指定されたタスクを実行する必要があります。 C ++には、STL(標準テンプレートライブラリ)の機能があります。これは、データ構造と、スタック、キュー、リストなどのいくつかの機能を提供するために使用されるC ++テンプレートクラスのセットです。これらを使用するには、知識が必要です。テンプレートクラスの。 回文は、シーケンスの前または後ろから同じように読み取られるシーケンスです。回文の簡単な例としては、-MADAM、RACECARなどがあります。配列は、以下の例のような

  2. サイズnの指定された配列がnレベルのBSTを表すことができるかどうかをC++で確認してください

    配列Aがあり、配列がnレベルのBSTを表すことができるかどうかを確認する必要があります。レベルがであるため、次のようにツリーを構築できます。数値をkとすると、kより大きい値は右側に移動し、kより小さい値は左側に移動します。 {50、20、9、25、10}と{50、30、20、25、10}の2つのリストがあるとします。 最初のものは無効ですが、2番目のものは有効です。 これを確認するには、BSTを作成して高さを確認するか、配列ベースのアプローチを使用します。アレイベースのアプローチは以下のようなものです- 2つの変数max=infinityを使用して、左側のサブツリーの最大制限をマー