栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python实现两个有序数组求中位数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python实现两个有序数组求中位数

# 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2
# (1) 合并有序数组并排序(不能用sort方法)
# (2) 请你找出这两个有序数组的中位数 (注:需要考虑两个数组为空的情况)

'''
思路:
1、将两个数组合并到一个数组中
2、进行冒泡排序
'''

class Solution:
    def findMedianSortedArrays(self, nums1: list, nums2: list) -> float:
        temp=[]
        for i in nums1:
            temp.append(i)
        for j in nums2:
            temp.append(j)
        for m in range(len(temp)-1):
            for n in range(len(temp)-1-m):
                if temp[n]>temp[n+1]:
                    temp[n],temp[n+1]=temp[n+1],temp[n]
        length = len(temp)
        if length == 0:
            return '两个表均为空,没有中位数'
        elif length % 2 == 1:
            return temp[length // 2]
        else:
            return (temp[length // 2] + temp[length // 2 - 1]) / 2
print(Solution().findMedianSortedArrays([],[]))
print(Solution().findMedianSortedArrays([],[-3,-2,5,7]))
print(Solution().findMedianSortedArrays([1,2,3],[]))
print(Solution().findMedianSortedArrays([1,2,3],[-4,-5,-6]))

执行结果:

两个表均为空,没有中位数
1.5
2
-1.5 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/321427.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号