题意:给定两个大小分别为 m
和 n
的正序(从小到大)数组 nums1
和 nums2,
请你找出并返回这两个正序数组的中位数。
示例如下:
输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1,2,3] ,中位数 2
已知题意:
两个数组合并的长度之和为奇数时,中位数只有一个。
例如:a =[2,4] a1=[3] 中位数为3
两个数组的长度之和为偶数时,中位数是:位于中间的两个数的平均数
例如:b =[1,2] c =[3,4] 中位数为2.5
解题思路:
1.将两个列表整合在一起。
2.对新的列表进行排序。
3.判断列表长度,如果长度是奇数,取中间数值,如果是偶数,取中间两个数值平均数。
代码如下:
class Solution:
def lianggezhengxushuzudzhongweishu(self, shuzu1, shuzu2):
# 1. 数组1和数组2进行处理
rongqiyuansu1 = len(shuzu1)
rongqiyuansu2 = len(shuzu2)
# 判断一个数组为空,空的数组=数组2,中值/2后还是原来的结果(类似于: 3 * 2 / 2还是原来的结果)
if rongqiyuansu1 ==