Menu
CoddyTech

Median of Two Sorted Arrays

Kamu mendapatkan dua list bilangan bulat, nums1 dan nums2, yang masing-masing diurutkan dari terkecil ke terbesar dan berisi setidaknya satu nilai. Kembalikan median dari semua nilainya jika digabungkan, dalam bentuk teks.

Untuk jumlah total yang ganjil, median adalah nilai tengah, seperti "4". Untuk jumlah yang genap, median adalah rata-rata dari dua nilai tengah, seperti "2.5" atau "-0.5". Tulis bilangan bulat tanpa titik desimal, dan tulis nol sebagai "0", jangan pernah "-0". Usahakan waktu O(log(min(m, n))).

Fungsi

findMedianSortedArrays(nums1: integer-array, nums2: integer-array) → string
nums1integer-array
daftar pertama, diurutkan dari yang terkecil hingga terbesar
nums2integer-array
list kedua, diurutkan dari yang terkecil hingga yang terbesar
Mengembalikanstring
median dari semua nilai, sebagai teks seperti "4" atau "-2.5"

Batasan

  • 1 ≤ nums1.length, nums2.length ≤ 3000
  • -106 ≤ nums1[i], nums2[i] ≤ 106
  • Kedua list diurutkan dalam urutan tidak menurun, dan nilainya dapat berulang.

Contoh

Input
nums1 = [1, 4]nums2 = [2, 7, 9]
Output
"4"
Penjelasan
Jika digabungkan, nilainya adalah 1, 2, 4, 7, 9. Dari lima nilai, ada satu nilai tengah, yaitu nilai ketiga, yakni 4.
challenge icon

Pertanyaan lanjutan

Bisakah kamu menggunakan pembagian yang sama untuk menemukan nilai terkecil ke-k dari kedua list, untuk sembarang k, dalam waktu logaritmik?

Reset kode
def findMedianSortedArrays(nums1, nums2):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

"4"