LeetCode 4. Median of Two Sorted Arrays Python3
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了LeetCode 4. Median of Two Sorted Arrays Python3,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2154字,纯文字阅读大概需要4分钟。
内容图文
![LeetCode 4. Median of Two Sorted Arrays Python3](/upload/InfoBanner/zyjiaocheng/645/024a9a137715441b8f212bba0be9cca9.jpg)
LeetCode 4. Median of Two Sorted Arrays Python3
Description
点击查看题目
There are two sorted arrays nums1 and nums2 of size m and n respectively.
Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
You may assume nums1 and nums2 cannot be both empty.
Example 1:
nums1 = [1, 3]
nums2 = [2]
The median is 2.0
Example 2:
nums1 = [1, 2]
nums2 = [3, 4]
The median is (2 + 3)/2 = 2.5
问题分析
刚开始看到这是一道困难题,但是读完题后并没有发现有啥不理解的地方,题目的意思是给定两个有序数组,找出这两个数组的中位数,而且题目给出的example解释了啥是中位数,所以虽然题目给的标签是困难题,但是只要把两个有序数组进行合并,然后返回中位数即可。最近在学Python,也不是说重头开始吧,因为之前学过C++、Java,就是按照之前学习过的思维模式去尝试用Python实现,然后再去看看别人用Python写的简洁、高效代码,所以有时候如果看不惯我写的代码,还望勿怪,不过我自己完成后都会去看评论区的代码,努力提高自己的编程能力,有兴趣的可以交流哦。
代码实现
第一种方法实现
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
length = len(nums1) + len(nums2)
flag = length % 2
res = []
j = 0
k = 0
while j < len(nums1) and k < len(nums2):
if nums1[j] < nums2[k]:
res.append(nums1[j])
j += 1
else:
res.append(nums2[k])
k += 1
while j < len(nums1):
res.append(nums1[j])
j += 1
while k < len(nums2):
res.append(nums2[k])
k += 1
result = 0.
if flag == 0:
result = (res[length // 2] + res[length // 2 - 1]) / 2.
else:
result = res[length // 2]
return result
第二种方法实现
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
length = len(nums1) + len(nums2)
res = []
while nums1 and nums2:
res.append(nums1.pop(0) if nums1[0] < nums2[0] else nums2.pop(0))
if nums1:
res += nums1
else:
res += nums2
if length % 2 == 0:
result = (res[length // 2 - 1] + res[length // 2]) / 2.
else:
result = res[length // 2] * 1.
return result
运行结果对比
从图中可以看出,运用Python封装好的方法运行起来还是比自己写的要高效的,所以要学会站在巨人的肩膀上,借助于外物,不要重复造轮子。
ok!大功告成了,如果你有其他的方法或者问题,欢迎在评论区交流。
与你一起学算法 发布了20 篇原创文章 · 获赞 28 · 访问量 6048 私信 关注内容总结
以上是互联网集市为您收集整理的LeetCode 4. Median of Two Sorted Arrays Python3全部内容,希望文章能够帮你解决LeetCode 4. Median of Two Sorted Arrays Python3所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。