Menu
CoddyTech

Median of Two Sorted Arrays

DifficileRicerca binariapython iconjava iconcpp iconc iconjs icon+10

Ti vengono fornite due liste di interi, nums1 e nums2, ciascuna ordinata dal valore più piccolo al più grande e contenente almeno un valore. Restituisci la mediana di tutti i loro valori insieme, come testo.

Se il numero totale di valori è dispari, la mediana è il valore centrale, ad esempio "4". Se è pari, è la media dei due valori centrali, ad esempio "2.5" o "-0.5". Scrivi un numero intero senza virgola decimale e lo zero come "0", mai "-0". Punta a un tempo di esecuzione di O(log(min(m, n))).

Funzione

findMedianSortedArrays(nums1: integer-array, nums2: integer-array) → string
nums1integer-array
il primo elenco, ordinato dal più piccolo al più grande
nums2integer-array
la seconda lista, ordinata dal più piccolo al più grande
Restituiscestring
la mediana di tutti i valori, come testo quale "4" o "-2.5"

Vincoli

  • 1 ≤ nums1.length, nums2.length ≤ 3000
  • -106 ≤ nums1[i], nums2[i] ≤ 106
  • Entrambi gli elenchi sono ordinati in ordine non decrescente e i valori possono ripetersi.

Esempi

Input
nums1 = [1, 4]nums2 = [2, 7, 9]
Output
"4"
Spiegazione
Insieme, i valori sono 1, 2, 4, 7, 9. Cinque valori hanno un valore centrale, il terzo, che è 4.
challenge icon

Per approfondire

Riesci a usare lo stesso taglio per trovare il k-esimo valore più piccolo delle due liste, per qualsiasi k, in tempo logaritmico?

Ripristina il codice
def findMedianSortedArrays(nums1, nums2):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

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

Output atteso

"4"