leetcode_04. 寻找两个有序数组的中位数

leetcode_04. 寻找两个有序数组的中位数

题目

leetcode题目链接

思路分析

题目要求:找两个有序数组 中位数。
这题 我的第一思路是 找到中位数对应的位置pos
对两个有序数组个数之和分奇偶:
如果是奇数,找到相应位置pos的元素
如果是偶数,找到相应位置pos和pos-1元素的平均值

代码一直会报错 (数组越界等各种问题)
先搁置,以后再写。

以后对每一道leetcode的编码调试,最多20分钟,不能浪费时间。

思路分析(改进)

  1. 合并两个列表,排序
  2. 求中位数。
    参考博客

代码展示(改进)

    def findMedianSortedArrays2(self, nums1, nums2) -> float:
    	#2个小的有序 合并成一个大的有序
    	totallen=len(nums1)+len(nums2)
    	pos=totallen//2
    	for i in range(len(nums2)):		#先把nums2链接到nums1后面
    		nums1.append(nums2[i])
    	totalnums = sorted(nums1)
    	if totallen%2==1:
    		return totalnums[pos]
    	else:
    		return ((totalnums[pos]+totalnums[pos-1])/2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值