Menu
CoddyTech

Merge Sorted Array

整数の配列 nums1 と nums2 が与えられます。どちらもすでに非減少順にソートされています。両方の配列のすべての値を含む単一の配列を、同じく非減少順で返してください。両方の配列に現れる値は、合計で現れる回数だけ結果に含めます。

関数

merge(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
最初のソート済み配列
nums2integer-array
2つ目のソート済み配列
戻り値integer-array
両方の配列のすべての値を、長さが nums1.length + nums2.length の 1 つのソート済み配列にまとめたもの

制約

  • 1 ≤ nums1.length, nums2.length ≤ 2000
  • -105 ≤ nums1[i], nums2[j] ≤ 105
  • nums1 と nums2 はそれぞれ非減少順にソートされています。

例

入力
nums1 = [1, 4, 9]nums2 = [2, 3, 10]
出力
[1, 2, 3, 4, 9, 10]
説明
先頭の2つを読み取り、小さい方を残します。1、次にnums2から2と3、続いてnums1から4と9、最後に10です。結果には6つすべての値が含まれます。

lock icon提出時に隠しテスト+13件

challenge icon

発展問題

k 個のソート済み配列に含まれる合計 N 個の値を、O(N log k) の時間でマージできますか?

コードをリセット
def merge(nums1, nums2):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

nums1 = [1, 4, 9]
nums2 = [2, 3, 10]

期待値

[1, 2, 3, 4, 9, 10]