4. Median of Two Sorted Arrays(divide and conquer)
程序员文章站
2024-02-29 18:31:58
...
1. Description
There are two sorted arrays nums1 and nums2 of size m and n respectively.
Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
Example 1:
nums1 = [1, 3]
nums2 = [2]
The median is 2.0
Example 2:
nums1 = [1, 2]
nums2 = [3, 4]
The median is (2 + 3)/2 = 2.5
2. Analysis
归并排序的时间复杂度为
3. code
class Solution {
public:
static vector<int> merge_sort(vector<int>& nums1, vector<int>& nums2) {
int i = 0, j = 0;
vector<int> res;
while(i < nums1.size() && j < nums2.size()) {
if(nums1[i] <= nums2[j]) {
res.push_back(nums1[i]);
i++;
} else {
res.push_back(nums2[j]);
j++;
}
}
while(i < nums1.size()) {
res.push_back(nums1[i]);
i++;
}
while(j < nums2.size()) {
res.push_back(nums2[j]);
j++;
}
return res;
}
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
vector<int> res = merge_sort(nums1, nums2);
int size = res.size();
if(size % 2 == 0) {
return (double)(res[size/2] + res[size/2-1])/2;
} else {
return (double)(res[size/2]);
}
}
};
4. improvement
<待续>
推荐阅读
-
4. Median of Two Sorted Arrays(divide and conquer)
-
Leetcode题解 4. Median of Two Sorted Arrays 【Array】
-
array- Median of Two Sorted Arrays
-
leetcode.array--4. Median of Two Sorted Arrays
-
【leetcode】#4 Median of Two Sorted Arrays【Array】【Hard】
-
[LeetCode] 004. Median of Two Sorted Arrays (Hard) 经典分治
-
【LeetCode】4. Median of Two Sorted Arrays
-
LeetCode 4. 两个排序数组的中位数 Median of Two Sorted Arrays
-
算法练习(3):Median of Two Sorted Arrays
-
LeetCode算法系列:4、Median of Two Sorted Arrays