Menu
CoddyTech

Median of Two Sorted Arrays

Otrzymujesz dwie listy liczb całkowitych, nums1 i nums2, każda posortowana rosnąco i zawierająca co najmniej jedną wartość. Zwróć medianę wszystkich ich wartości razem, jako tekst.

Przy nieparzystej łącznej liczbie elementów mediana jest środkową wartością, na przykład "4". Przy parzystej liczbie jest średnią dwóch środkowych wartości, na przykład "2.5" lub "-0.5". Zapisz liczbę całkowitą bez kropki dziesiętnej, a zero jako "0", nigdy "-0". Dąż do złożoności czasowej O(log(min(m, n))).

Funkcja

findMedianSortedArrays(nums1: integer-array, nums2: integer-array) → string
nums1integer-array
pierwsza lista, posortowana od najmniejszej do największej
nums2integer-array
druga lista, posortowana od najmniejszej do największej
Zwracastring
mediana wszystkich wartości, jako tekst, na przykład „4” lub „-2.5”

Ograniczenia

  • 1 ≤ nums1.length, nums2.length ≤ 3000
  • -106 ≤ nums1[i], nums2[i] ≤ 106
  • Obie listy są posortowane w kolejności niemalejącej, a wartości mogą się powtarzać.

Przykłady

Wejście
nums1 = [1, 4]nums2 = [2, 7, 9]
Wyjście
"4"
Wyjaśnienie
Razem wartości to 1, 2, 4, 7, 9. Pięć wartości ma jedną wartość środkową — trzecią, czyli 4.
challenge icon

Pytanie dodatkowe

Czy możesz użyć tego samego podziału, aby znaleźć k-tą najmniejszą wartość z dwóch list dla dowolnego k w czasie logarytmicznym?

Zresetuj kod
def findMedianSortedArrays(nums1, nums2):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

nums1 = [1, 4]
nums2 = [2, 7, 9]

Oczekiwany wynik

"4"