题目描述
思路分析
排序
O
(
n
l
o
g
n
)
O(nlogn)
O(nlogn)
递归
O
(
n
)
O(n)
O(n)
递归很简单,本题就是一个“递归
O
(
n
)
O(n)
O(n)求序列第k大“的一个特例。
排序更简单,直接sort就可以了。这道题
O
(
n
l
o
g
n
)
O(nlogn)
O(nlogn)就能过。具体递归怎么写可以搜索“快速选择”算法。
代码实现
class Solution {
public:
double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
for(int i=0;i<nums2.size();i++){
nums1.push_back(nums2[i]);
}
sort(nums1.begin(),nums1.end());
if(nums1.size()%2==1) return nums1[nums1.size()/2];
else return (nums1[nums1.size()/2]+nums1[nums1.size()/2-1])/2.0;
}
};