leetcode,兩個排序陣列的中位數

2022-04-02 15:13:05 字數 525 閱讀 3781

先上題目描述:

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2 。

請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 o(log (m+n)) 。

你可以假設 nums1 和 nums2 不同時為空。

示例 1:

nums1 = [1, 3]

nums2 = [2]

中位數是 2.0

示例 2:

nums1 = [1, 2]

nums2 = [3, 4]

中位數是 (2 + 3)/2 = 2.5

解題思路:將兩個陣列合併成乙個陣列,排序,然後取中位數,思路比較low沒有達到題目要求的時間複雜度。

官方給的解題用得是遞迴法,時間複雜度o(log(min(m,n)))。

下面直接貼**:

LeetCode 兩個排序陣列的中位數

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2 請找出這兩個有序陣列的中位數。要求演算法的時間複雜度為 o log m n 示例 1 nums1 1,3 nums2 2 中位數是 2.0示例 2 nums1 1,2 nums2 3,4 中位數是 2 3 2 2.5 package...

LeetCode 兩個排序陣列合併問題

merge sorted array 問題 given two sorted integer arrays a and b,merge b into a as one sorted array.常規思想 從b的起始位置開始,將選中的值與a陣列值逐一判斷,找到a i 大於b j 的i將其插入,如此迭代...

Leetcode 合併兩個有序陣列

題目如下 給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 示例 輸入 nums1 1,2,3,0,0,0 m 3 nums2 2,5,6 n 3 輸出 1,2,2,3,5,6 用python只需要兩行 class so...