leetcode 4 尋找中位數

2021-09-12 07:26:12 字數 566 閱讀 2567

1.題目鏈結。這個題目使用分治來寫似乎不是很好想。大概的寫法就是:我們需要使用分治一步一步的找到中位數在哪個位置。我們首先在兩個陣列各自取出一總長度一半的資料,判斷取出來的資料的最大值,確定中位數到底在哪個區間。555,語言表達能力不強,看**吧,還是很好理解的。

class solution 

//遞迴的出口

if (nums1.size() == 0)

if (nums2.size() == 0)

if (k == 1)

//int s = max(nums1.size(), nums2.size());

int s = nums1.size();

int l1 = min(k / 2, s);

int l2 = k - l1;

if (nums1[l1 - 1] < nums2[l2 - 1])

else

}double findmediansortedarrays(vector& nums1, vector& nums2)

else

}};

leetcode 4 尋找有序陣列的中位數

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

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

題目參見尋找兩個正序陣列的中位數。思路來自leetcode的官方題解。尋找兩個正序陣列的中位數 給定兩個大小為 m 和 n 的正序 從小到大 陣列 nums1 和nums2。請你找出並返回這兩個正序陣列的中位數。如果是奇數,則返回第 m n 1 2小的數字,如果是偶數,則返回第 m n 2小的數和第...

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

給定兩個大小為 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 思路 兩個陣...