Menu
CoddyTech

Merge Sorted Array

Otrzymujesz dwie tablice liczb całkowitych: nums1 i nums2. Każda z nich jest już posortowana w kolejności niemalejącej. Zwróć jedną tablicę zawierającą wszystkie wartości z obu tablic, również w kolejności niemalejącej. Wartość występująca w obu tablicach pojawia się w wyniku tyle razy, ile łącznie występuje w tych tablicach.

Funkcja

merge(nums1: integer-array, nums2: integer-array) → integer-array
nums1integer-array
pierwsza posortowana tablica
nums2integer-array
druga posortowana tablica
Zwracainteger-array
wszystkie wartości obu tablic w jednej posortowanej tablicy o długości nums1.length + nums2.length

Ograniczenia

  • 1 ≤ nums1.length, nums2.length ≤ 2000
  • -105 ≤ nums1[i], nums2[j] ≤ 105
  • nums1 i nums2 są posortowane w kolejności niemalejącej.

Przykłady

Wejście
nums1 = [1, 4, 9]nums2 = [2, 3, 10]
Wyjście
[1, 2, 3, 4, 9, 10]
Wyjaśnienie
Odczytuj dwa pierwsze elementy i zachowuj mniejszy: 1, potem 2 i 3 z nums2, następnie 4 i 9 z nums1, a na końcu 10. Wynik zawiera wszystkie sześć wartości.

lock icon+13 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Czy potrafisz połączyć k posortowanych tablic zawierających łącznie N wartości w czasie O(N log k)?

Zresetuj kod
def merge(nums1, nums2):
    # Wpisz kod tutaj
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

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

Oczekiwane

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