
2020.5.14-力扣刷刷1-4.寻找两个正序数组的中位数(数组类型)
题解一: 合并两个数组,找其中位数。 1.合并两个数组为数组nums。 2.将数组nums从小到大排序。 3.计算数组nums的长度n即元素有多少。 (1)如果n为偶数,则中文数为数组nums中第(n/2)个位置元素与第[(n/2)+1]个位置元素之和的一半。 (2)如果n为奇数,则中文数为数组nums中第[(n+1)/2]个位置元素。 时间复杂度:O(m+n) 空间复杂度: O(m+nm+n)
发布日期:2021-05-07 08:51:54
浏览次数:19
分类:精选文章
本文共 1464 字,大约阅读时间需要 4 分钟。
力扣-刷刷刷
4.寻找两个正序数组的中位数
题目描述:
class Solution(object): def findMedianSortedArrays(self,nums1,nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: float """ nums=sorted(nums1+nums2) n=len(nums) if h%2!=0: k=int((n+1)/2) answer=nums[k-1] else: k=int((n)/2) answer=(nums[k+1]+nums[k])/2 print(answer)
题解二:
双指针移动法,找到中位数所在的位置。def findMedianSortedArrays(A, B): m=len(A) n=len(B) length=m+n p=0 r=0#初始化指针p,r left=-1 right=-1#left表示当前循环的前一值,right表示当前循环的值 count=int(length/2)+1 for i in range(count): left=right if p
时间复杂度:遍历int(m+n/2)+1次,故时间复杂度为O(m+n)
空间复杂度: 我们申请了常数个变量,也就是 m,n,length,left,right,p,r,i。 总共 8 个变量,所以空间复杂度是 O(1)题解三:
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月29日 17时31分26秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JS魔法堂:函数重载 之 获取变量的数据类型
2021-05-09
时间序列神器之争:Prophet VS LSTM
2021-05-09
SpringBoot中关于Mybatis使用的三个问题
2021-05-09
MapReduce实验
2021-05-09
Leaflet 带箭头轨迹以及沿轨迹带方向的动态marker
2021-05-09
java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式
2021-05-09
java大数据最全课程学习笔记(2)--Hadoop完全分布式运行模式
2021-05-09
大部分程序员还不知道的 Servelt3 异步请求,原来这么简单?
2021-05-09
[apue] popen/pclose 疑点解惑
2021-05-09
[apue] getopt 可能重排参数
2021-05-09
移动互联网恶意软件命名及分类
2021-05-09
adb shell am 的用法
2021-05-09
PySide图形界面开发(一)
2021-05-09
Android如果有一个任意写入的漏洞,如何将写权限转成执行权限
2021-05-09
三角网格体积计算
2021-05-09
现代3D图形编程学习-基础简介(2) (译)
2021-05-09
Github教程(3)
2021-05-09
vue实现简单的点击切换颜色
2021-05-09
vue3 template refs dom的引用、组件的引用、获取子组件的值
2021-05-09
深入浅出mybatis
2021-05-09