<prompt> Kwa kupewa safu mbili zilizopangwa nums1 na nums2 za ukubwa m na n mtawalia, rudisha wastani wa safu mbili zilizopangwa.Utata wa jumla wa muda wa kukimbia unapaswa kuwa Ologi mn.Mfano wa 1:Ingizo: nums1 1,3, nums2 2Pato: 2.00000Maelezo: safu iliyounganishwa 1,2,3 na wastani ni 2.Mfano wa 2:Ingizo: nums1 1,2, nums2 3,4Pato: 2.50000Maelezo: safu iliyounganishwa 1,2,3,4 na wastani ni 2 3 2 2.5.Vikwazo: nums1.length m nums2.length n 0 m 1000 0 n 1000 1 m n 2000 -106 nambari1i, nambari2i 106  <response>: chatudef findMedianSortedArraysnums1, nums2: ikiwa lennums1 lennums2: rudisha findMedianSortedArraysnums2, nums1 x, y leninambari1, leninambari2 chini, juu 0, x wakati chini juu: partition_x chini juu 2 partition_y x y 1 2 - partition_x max_left_x kuelea-inf ikiwa partition_x nambari nyingine 0partition_x - 1 min_right_x kueleainf ikiwa partition_x x nyingine nambari1partition_x max_left_y kuelea-inf kama partition_y 0 mwingine nums2partition_y - 1 min_right_y floatinf ikiwa partition_y y else nums2partition_y ikiwa max_left_x min_right_y na max_left_y min_right_x: ikiwa x y 2 0: rudisha upeomax_left_x, max_left_y minmin_right_x, min_right_y 2 kwingine: max_left_x, max_left_y elif max_left_x min_right_y: juu partition_x - 1 kwingine: chini partition_x 1 kurudi 0maelezo1. Chagua safu ndogo kama nums1 ili tatizo liwe rahisi na uchangamano mdogo wa logn.2. Tumia Utafutaji wa Binary BS kugawa safu ndogo zaidi.3. Sasa tunahesabu nafasi ya kugawanya katika safu kubwa nums2 baada ya kuchukua ndogo.4. Tafuta nambari nne muhimu - maxSize - kushoto na kulia ya kizigeu katika safu mbili.5. Ikiwa maxSizeLeft minSizeRight na maxSizeLeft2 minSizeRight2, basi ugawaji wa safu zote mbili ni sahihi, ikiwa sivyo, rekebisha ugawaji wa nums1. Ikiwa maxLeftX minRightY, sogeza kizigeu cha KE upande wa kushoto; ikiwa maxLeftY minRightX, sogeza kizigeu cha KE kulia.6. Wakati kizigeu sahihi kinapatikana, hesabu wastani kulingana na urefu wa safu iliyounganishwa, hata au isiyo ya kawaida. 