陣列4:尋找兩個正序陣列的中位數
阿新 • • 發佈:2020-12-11
技術標籤:資料結構與演算法
問題:
給定兩個大小為 m 和 n 的正序(從小到大)陣列 nums1 和 nums2。請你找出並返回這兩個正序陣列的中位數。
進階:你能設計一個時間複雜度為 O(log (m+n)) 的演算法解決此問題嗎?
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/median-of-two-sorted-arrays
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
Python解法1:
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
len1 = len(nums1)
len2 = len(nums2)
total_len = len1 + len2
if len1 < len2:
nums = nums2
for i in nums1 :
nums.append(i)
else:
nums = nums1
for i in nums2 :
nums.append(i)
nums.sort()
if total_len%2 == 0 :
return (nums[total_len//2 - 1 ] + nums[total_len//2])/2
else:
return nums[total_len//2]
經驗:
1.// 整數除法,/ 浮點數除法, %取餘
2、列表元素排序是從0開始的