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、改進
我先思考一下...