文字列がC++で他の文字列のサブシーケンスであるかどうかをチェックするプログラム
2つの文字列SとTがあるとします。SがTのサブシーケンスであるかどうかを確認する必要があります。
したがって、入力がS ="abc"、T ="adbrcyxd"のような場合、出力はTrueになります
これを解決するには、次の手順に従います-
-
sがtと同じ場合、-
-
trueを返す
-
-
n:=sのサイズ、m:=tのサイズ
-
j:=0
-
初期化i:=0の場合、i
-
t[j]がs[i]と同じ場合、-
-
(jを1増やします)
-
-
jがtのサイズと同じである場合、-
-
trueを返す
-
-
-
falseを返す
理解を深めるために、次の実装を見てみましょう-
例
#include <bits/stdc++.h> using namespace std; class Solution { public: bool solve(string t, string s) { if(s == t) return true; int n = s.size(); int m = t.size(); int j = 0; for(int i = 0; i < n; i++){ if(t[j] == s[i]) j++; if(j == t.size()) return true; } return false; } }; main(){ Solution ob; string S = "abc", T = "adbrcyxd"; cout << ob.solve(S, T); }
入力
"abc", "adbrcyxd"
出力
1
-
無向グラフにオイラーパスが含まれているかどうかを確認するC++プログラム
オイラーパスはパスです。これにより、すべてのノードに1回だけアクセスできます。同じエッジを複数回使用できます。オイラー回路は、特殊なタイプのオイラーパスです。オイラーパスの開始頂点がそのパスの終了頂点にも接続されている場合。 オイラーパスを検出するには、これらの条件に従う必要があります グラフを接続する必要があります。 無向グラフの頂点の次数が奇数でない場合、それはオイラー回路であり、これも1つのオイラーパスです。 ちょうど2つの頂点の次数が奇数の場合、それはオイラーパスです。 入力 出力 両方のグラフにオイラーパスがあります。 アルゴリズム traverse(u、visite
-
無向グラフにオイラー閉路が含まれているかどうかを確認するC++プログラム
オイラー回路について知るために、オイラーパスについての考えがあります。オイラーパスはパスです。これにより、すべてのノードに1回だけアクセスできます。同じエッジを複数回使用できます。オイラー回路は、特殊なタイプのオイラーパスです。オイラーパスの開始頂点がそのパスの終了頂点にも接続されている場合。 回路を検出するには、次の条件に従う必要があります。 グラフを接続する必要があります。 無向グラフの頂点の次数が奇数でない場合、それはオイラー回路です。 入力 出力 グラフにはオイラー回路があります。 アルゴリズム traverse(u、visited) 入力開始ノードuと訪問済みノード