1、题目ios
Median of Two Sorted Arrays,具体请自行搜索。性能
这个题目,我看了一下,通过一番思考,我以为实现起来不是很复杂。优化
但要作到bug free也不难,最大的问题是性能问题。spa
性能只有42%的样子,内存占用太多。还须要进一步优化!!!code
2、这个题目,我本身实现blog
提交了2次:内存
第1次: Wrong Answerio
第2次:终于对了class
下面是个人完整代码实现,须要的拿去:stream
#include<iostream> #include<vector> using namespace std; class Solution { public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { int m = nums1.size(); int n = nums2.size(); float f = 0; vector<int> res; int i=0,j=0; while(i<m && j<n){ if(nums1[i]<nums2[j]){ res.push_back(nums1[i]); i++; }else{ res.push_back(nums2[j]); j++; } } while(i<m){ res.push_back(nums1[i]); i++; } while(j<n){ res.push_back(nums2[j]); j++; } if((m+n) %2 == 0){ //总共有偶数个,取中间2个平均值 f = res[(m+n)/2-1]+res[(m+n)/2]; return f/2; }else{ //找到中间值 return res[(m+n)/2]; } } }; int main(){ vector<int> v1 = {1,3}; vector<int> v2 = {2}; Solution s; cout<<s.findMedianSortedArrays(v1,v2)<<endl; v1 = {1,2}; v2 = {3,4}; cout<<s.findMedianSortedArrays(v1,v2)<<endl; return 0; }
3、改进
我先思考一下...