Menu
CoddyTech

Merge Sorted Array

Тебе даны два массива целых чисел, nums1 и nums2. Каждый из них уже отсортирован в неубывающем порядке. Верни один массив, содержащий все значения из обоих массивов, также в неубывающем порядке. Значение, которое встречается в обоих массивах, должно встречаться в результате столько раз, сколько оно встречается в общей сложности.

Функция

merge(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
первый отсортированный массив
nums2integer-array
второй отсортированный массив
Возвращаетinteger-array
все значения обоих массивов в одном отсортированном массиве длиной nums1.length + nums2.length

Ограничения

  • 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]
Пояснение
Сравнивайте два первых элемента и оставляйте меньший: 1, затем 2 и 3 из nums2, затем 4 и 9 из nums1, а в конце — 10. В результате содержатся все шесть значений.

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]