1. 程式人生 > 其它 >陣列4:尋找兩個正序陣列的中位數

陣列4:尋找兩個正序陣列的中位數

技術標籤:資料結構與演算法

問題:

給定兩個大小為 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開始的

在這裡插入圖片描述