Pythonを使用して文字列を交互にマージするプログラム
2つの文字列sとtがあるとします。 sから始めて、交互に文字を追加してそれらをマージする必要があります。 sとtの長さが同じでない場合は、マージされた文字列の最後に余分な文字を追加します。
したがって、入力がs ="major" t ="general"の場合、tはsよりも大きいため、出力は "mgaejnoerral"になります。したがって、最後に余分な部分"ral"を追加しました。
>これを解決するには、次の手順に従います-
-
i:=j:=0
-
結果:=空白の文字列
-
i
-
result:=result concatenate s [i] concatenate t [j]
-
i:=i + 1
-
j:=j + 1
-
-
私が
-
結果:=結果はs [i]
を連結します -
i:=i + 1
-
-
j
-
結果:=結果はt [j]
を連結します -
j:=j + 1
-
-
結果を返す
理解を深めるために、次の実装を見てみましょう-
例
def solve(s, t): i = j = 0 result = "" while i < len(s) and j < len(t): result += s[i] + t[j] i+=1 j+=1 while i < len(s): result += s[i] i += 1 while j < len(t): result += t[j] j += 1 return result s = "major" t = "general" print(solve(s, t))
入力
"major", "general"
出力
mgaejnoerral
-
マージソート用のPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、マージソートの概念を使用して配列をソートする必要があります ここでは、最大の要素を最後に配置します。これは、配列がソートされるまで繰り返されます。 次に、以下の実装のソリューションを見てみましょう- 例 #merge function def merge(arr, l, m, r): n1 = m - l + 1 n2 = r- m # create arrays L = [0]
-
反復マージソート用のPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、反復によるマージソートの概念を使用して配列をソートする必要があります。 ここでは、最大の要素を最後に配置します。これは、配列がソートされるまで繰り返されます。 次に、以下の実装のソリューションを見てみましょう- 例 # iterative way def mergeSort(a): current_size = 1 # traversing subarrays while current_size <