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

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

  1. マージソート用のPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、マージソートの概念を使用して配列をソートする必要があります ここでは、最大の要素を最後に配置します。これは、配列がソートされるまで繰り返されます。 次に、以下の実装のソリューションを見てみましょう- 例 #merge function def merge(arr, l, m, r):    n1 = m - l + 1    n2 = r- m    # create arrays    L = [0]

  2. 反復マージソート用のPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、反復によるマージソートの概念を使用して配列をソートする必要があります。 ここでは、最大の要素を最後に配置します。これは、配列がソートされるまで繰り返されます。 次に、以下の実装のソリューションを見てみましょう- 例 # iterative way def mergeSort(a):    current_size = 1    # traversing subarrays    while current_size <