Menu
CoddyTech

Median of Two Sorted Arrays

SchwerBinäre Suchepython iconjava iconcpp iconc iconjs icon+10

Du erhältst zwei Listen mit ganzen Zahlen, nums1 und nums2, die jeweils aufsteigend sortiert sind und mindestens einen Wert enthalten. Gib den Median aller Werte zusammen als Text zurück.

Bei einer ungeraden Gesamtanzahl ist der Median der mittlere Wert, zum Beispiel "4". Bei einer geraden Anzahl ist er der Durchschnitt der beiden mittleren Werte, zum Beispiel "2.5" oder "-0.5". Gib eine ganze Zahl ohne Dezimalpunkt und null als "0" aus, niemals als "-0". Strebe eine Laufzeit von O(log(min(m, n))) an.

Funktion

findMedianSortedArrays(nums1: integer-array, nums2: integer-array) → string
nums1integer-array
die erste Liste, vom kleinsten zum größten sortiert
nums2integer-array
die zweite Liste, sortiert vom kleinsten zum größten
Gibt zurückstring
der Median aller Werte, als Text wie "4" oder "-2.5"

Einschränkungen

  • 1 ≤ nums1.length, nums2.length ≤ 3000
  • -106 ≤ nums1[i], nums2[i] ≤ 106
  • Beide Listen sind in nicht absteigender Reihenfolge sortiert, und Werte können mehrfach vorkommen.

Beispiele

Eingabe
nums1 = [1, 4]nums2 = [2, 7, 9]
Ausgabe
"4"
Erklärung
Zusammen ergeben die Werte 1, 2, 4, 7, 9. Bei fünf Werten gibt es einen mittleren Wert, den dritten, nämlich 4.
challenge icon

Weiterführende Frage

Kannst du denselben Schnitt verwenden, um für jedes k den k-kleinsten Wert der beiden Listen in logarithmischer Zeit zu finden?

Code zurücksetzen
def findMedianSortedArrays(nums1, nums2):
    # Schreibe hier den Code

Test #1

Test #2

Test #3

Argumente

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

Erwartete Ausgabe

"4"