制約1: 両方の配列の要素は昇順でソートされている必要があります。
この制約を満たす場合、以下の手順で配列をマージできます。
- 結果を格納するための新しい配列を作成します。
- 2つの配列の先頭要素を比較し、小さい方を新しい配列に追加します。
- 追加した要素を元の配列から削除します。
- 2つの配列のいずれかが空になるまで、2番目のステップを繰り返します。
- 残った要素があれば、それらを新しい配列に追加します。
以下は、このアルゴリズムの例です(Pythonを使用しています):
def merge_arrays(arr1, arr2):
merged = []
while arr1 and arr2:
if arr1[0] <= arr2[0]:
merged.append(arr1[0])
arr1 = arr1[1:]
else:
merged.append(arr2[0])
arr2 = arr2[1:]
merged += arr1
merged += arr2
return merged
# 2つのソート済み配列を作成します
array1 = [1, 3, 5, 7]
array2 = [2, 4, 6, 8]
# 配列をマージします
merged_array = merge_arrays(array1, array2)
print(merged_array)
上記のコードは、2つのソート済み配列をマージして新しい配列を作成します。制約1を満たすため、要素が昇順でソートされている必要があります。
この方法を使用することで、与えられた制約を満たしながら2つの配列をマージすることができます。