Median of Two Sorted Arrays
Posted 周先森爱吃素
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Median of Two Sorted Arrays相关的知识,希望对你有一定的参考价值。
这个系列算是出于个人兴趣开的一个新坑吧,最近看到同学刷LeetCode算法题,就想写写那些可以一行Python代码写出来的题目,因此本专栏的文章的解题方式效率不做保证,只为追求“一行的浪漫”。
题目
题解
简单解释一下题目,给定两个有序数组nums1
和nums2
,要求找到两个数组所有数字的中位数,如果总共是奇数个则是中间数字,否则为中间两个数字的平均值。本题难度为Hard。
代码
这题的思路其实挺直白的,两个数组合并并且找到中间数即可,对于Python3而言,我这里给出了一种通用解法,也给出了一种利用statistics统计库得出结果的方法。
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
return sorted(nums1+nums2)[(len(nums1)+len(nums2))//2] if (len(nums1)+len(nums2))%2 == 1 else (sorted(nums1+nums2)[(len(nums1)+len(nums2))//2]+sorted(nums1+nums2)[(len(nums1)+len(nums2))//2-1])/2
import statistics
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
return statistics.median(sorted(nums1+nums2))
其中前一种解法速度较快,反馈如下。
以上是关于Median of Two Sorted Arrays的主要内容,如果未能解决你的问题,请参考以下文章
leedcode Median of Two Sorted Arrays
#Leetcode# 4. Median of Two Sorted Arrays
LeetCode: Median of Two Sorted Arrays
** Median of Two Sorted Arrays