class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
nums1_len = len(nums1)
nums2_len = len(nums2)
def find(nums1,nums2,k):
# time.sleep(1)
if not nums1:
return nums2[k-1]
if not nums2:
return nums1[k-1]
if k == 1:
if nums1 and nums2:
return min(nums1[0],nums2[0])
if nums1:
return nums1[0]
if nums2:
return nums2[0]
nums1_len = len(nums1)
nums2_len = len(nums2)
index = k
if index <= nums1_len and index <= nums2_len:
if nums1[index-1]<nums2[index-1]:
return find(nums1[index:],nums2,k-index)
elif nums1[index-1]>=nums2[index-1]:
return find(nums1,nums2[index:],k-index)
else:
if index>nums1_len:
index1 = nums1_len
index2 = k - nums1_len
else:
index2 = nums2_len
index1 = k - nums2_len
if nums1[index1-1]<nums2[index2-1]:
return find(nums1[index1:],nums2,k-index1)
elif nums1[index1-1]>=nums2[index2-1]:
return find(nums1,nums2[index2:],k-index2)
if (nums1_len+nums2_len)%2 == 0:
left = find(nums1,nums2,(nums1_len+nums2_len)
right = find(nums1,nums2,(nums1_len+nums2_len)
return ((left+right)/2)
else:
return (find(nums1,nums2,(nums1_len+nums2_len)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义