演算法小練 尋找兩個有序陣列的中位數

2021-10-01 03:43:22 字數 673 閱讀 6168

title: 演算法小練——尋找兩個有序陣列的中位數

date: 2019-11-29 19:00:11

categories:

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

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

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

nums1 = [1, 3]

nums2 = [2]

則中位數是 2.0

nums1 = [1, 2]

nums2 = [3, 4]

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

class

solution

else}if

(i==nums1.length && k!=arr.length)}if

(j==nums2.length&& k!=arr.length)}if

(arr.length%2==

0)else

}}

思路就是,將兩個陣列有序合併,然後根據陣列長度,判斷中位數是某個數,還是某兩個數相加

演算法小練 合併兩個有序陣列

title 演算法小練 合併兩個有序陣列 categories 給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中 使得 num1 成為乙個有序陣列。初始化 nums1 和 nums2 的元素數量分別為 m 和 n。你可以假設 nums1 有足夠的空間 空間大小...

leetcode題 尋找兩個有序陣列的中位數

成績不是很好,本身寫的也很亂,本文只是提供一種解題思路。要求兩有序陣列的中位數並不難,簡單粗暴的方法就是得到兩陣列合併後的新陣列,取其中位數即可,但是難度在於這個時間複雜度有限制,為 o log m n 一看這個log,那麼很容易想到二分查詢演算法什麼的,而本文的解題過程也正是按照二分的思路來的。通...

LeetCode 4 尋找兩個有序陣列的中位數

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。示例 1 nums1 1,3 nums2 2 則中位數是 2.0 示例 2 nums1 1,2 ...