チェックするプログラムは、Pythonの2つの文字列間で辞書式に大きいまたはない順列がありますか
同じサイズの2つの文字列sとtがあるとすると、次のように、sの順列(たとえばs1)とtの順列(たとえばt1)があるかどうかを確認する必要があります。 0≤i
したがって、入力がs ="vyx" t ="wzx"の場合、s1="vxy"およびt1="wxz"となる可能性があるため、出力はTrueになります。
これを解決するには、次の手順に従います-
理解を深めるために、次の実装を見てみましょう-
例
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()を定義します。これは、グラフ、ノード、訪問済みを取得します ノードにアクセスしていない場合は、 ノードを訪問済みとしてマーク グラフ[ノード]