diff --git a/solution/004.Median of Two Sorted Arrays/Solution.cpp b/solution/004.Median of Two Sorted Arrays/Solution.cpp new file mode 100644 index 0000000000000..2496313fa0f94 --- /dev/null +++ b/solution/004.Median of Two Sorted Arrays/Solution.cpp @@ -0,0 +1,36 @@ +class Solution { +public: + double findMedianSortedArrays(vector& nums1, vector& nums2) { + int nums[10000] = { 0 }; + int index = 0; + vector::iterator it1 = nums1.begin(); + vector::iterator it2 = nums2.begin(); + for (; it1 != nums1.end() && it2 != nums2.end();) { + if (*it1 >= *it2) { + nums[index++] = *it2; + it2++; + } + else { + nums[index++] = *it1; + it1++; + } + } + + while (it1 != nums1.end()) { + nums[index++] = *it1; + it1++; + } + while (it2 != nums2.end()) { + nums[index++] = *it2; + it2++; + } + + if (index % 2 == 0) { + return (double)((nums[index/2] + nums[index/2 - 1])/2.0); + } + else { + return (double)(nums[index/2]); + } + + } +}; \ No newline at end of file