0004-Median of Two Sorted Arrays(寻找两个正序数组的中位数)
生活随笔
收集整理的這篇文章主要介紹了
0004-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))其中前一種解法速度較快,反饋如下。
總結
以上是生活随笔為你收集整理的0004-Median of Two Sorted Arrays(寻找两个正序数组的中位数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0003-Longest Substri
- 下一篇: Linux闲时自动抢占GPU脚本