📅  最后修改于: 2023-12-03 14:56:19.059000             🧑  作者: Mango
本程序用于求解两个相同大小的排序数组的中位数。在程序中,我们先将两个数组合并成一个大的有序数组,然后根据数组长度的奇偶性求解中位数。
以下是本程序的代码实现:
def findMedianSortedArrays(nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: float
"""
# 合并两个数组
nums = nums1 + nums2
# 对合并后的数组进行排序
nums.sort()
# 求中位数
if len(nums) % 2 == 0:
return (nums[len(nums)//2-1] + nums[len(nums)//2])/2
else:
return nums[len(nums)//2]
其中,nums1
和nums2
分别为两个排序数组,函数findMedianSortedArrays
返回的是这两个数组的中位数。
以下是使用本程序的示例代码:
nums1 = [1, 2, 3]
nums2 = [4, 5, 6]
result = findMedianSortedArrays(nums1, nums2)
print(result)
程序的输出结果为:
3.5
本程序通过将两个数组合并成一个大的有序数组,然后根据中位数的规律求解出了两个数组的中位数。这种方法时间复杂度较高,可以在实际使用的时候注意优化。