1def find_median_sorted_arrays(nums1, nums2):2 A, B = nums1, nums23 if len(A) > len(B):4 A, B = B, A5 l = 06 r = len(A)7 while l <= r:8 i = l + ((r - l) // 2)9 j = (len(A) + len(B) + 1) // 2 - i1011 left_a = A[i - 1] if i > 0 else float("-inf")12 right_a = A[i] if i < len(A) else float("inf")13 left_b = B[j - 1] if j > 0 else float("-inf")14 right_b = B[j] if j < len(B) else float("inf")1516 if left_a > right_b:17 r = i - 118 elif left_b > right_a:19 l = i + 120 else:21 if (len(A) + len(B)) % 2 == 0:22 return (max(left_a, left_b) + min(right_a, right_b)) / 223 else:24 return max(left_a, left_b)