チェックするプログラムは、Pythonの2つの文字列間で辞書式に大きいまたはない順列がありますか
同じサイズの2つの文字列sとtがあるとすると、次のように、sの順列(たとえばs1)とtの順列(たとえばt1)があるかどうかを確認する必要があります。 0≤i
したがって、入力がs ="vyx" t ="wzx"の場合、s1="vxy"およびt1="wxz"となる可能性があるため、出力はTrueになります。
これを解決するには、次の手順に従います-
- sとtが空の場合、
- Trueを返す
- s:=文字列sを並べ替える
- t:=文字列tを並べ替える
- 関数util()を定義します。これにはs1、s2が必要です
- 0からs1のサイズの範囲のiについては、
- s1 [i]> t1 [i]の場合、
- Falseを返す
- s1 [i]> t1 [i]の場合、
- Trueを返す
- メインの方法から次のようにします-
- util(s、t)がtrueの場合、
- Trueを返す
- sとtを入れ替える
- return util(s、t)
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, s, t): if not len(s) or not len(t): return True s = sorted(s) t = sorted(t) def util(s1, t1): for i in range(len(s1)): if s1[i] > t1[i]: return False return True if util(s, t): return True s, t = t, s return util(s, t) ob = Solution() s = "vyx" t = "wzx" print(ob.solve(s, t))
入力
"vyx", "wzx"
出力
True
-
C2つの文字列が同じかどうかをチェックするプログラム
2つの文字列str1とstr2が与えられた場合、2つの文字列が同じであるかどうかを確認する必要があります。 「こんにちは」と「こんにちは」の2つの針が与えられているように、それらは同一で同じです。 同一の文字列は、「Hello」と「hello」のように同じように見えますが、同じではありません。同じ文字列は、「World」と「World」のようにまったく同じです。 例 Input: str1[] = {“Hello”}, str2[] = {“Hello”} Output: Yes 2 strings are same Input: str1[]
-
グラフに共通の到達可能なノードがあるかどうかをPythonでチェックするプログラム
有向グラフのエッジリストがあり、ノードがn個あり、ノード名が0〜n-1であるとします。2つの整数値aとbもあります。 cからaに、またcからbに移動できるようなノードcがあるかどうかを確認する必要があります。 したがって、入力が次のような場合 また、a =2、b =3の場合、出力はTrueになります。これは、ここではc =0であるため、0から2、さらには0から3へのルートがあります。 これを解決するには、次の手順に従います- 関数DFS()を定義します。これは、グラフ、ノード、訪問済みを取得します ノードにアクセスしていない場合は、 ノードを訪問済みとしてマーク グラフ[ノード]