4. Median of Two Sorted Arrays
▶ 问题:求两个已经排好序的数组的中位数。 ▶ 简单的归并版。现将两个数组一趟归并到一个数组中(O(m+n)),再利用新数组长度的奇偶性计算新数组的中位数(O(1)),总体时间复杂度 O(m+n),空间复杂度 O(m+n)。 ● 代码,79 ms 1 class Solution // O(m+n) 2 { 3 public: 4 double findMedianSortedArrays(std::vector<int>& nums1, std::vector<int>& nums2) 5 { 6 std::vector<int>temp; 7 int i, j; 8 for (i = 0, j = 0; i < nums1.size() && j < nums2.size();) // merge common part 9 temp.push_back(nums1[i] < nums2[j] ? nums1[i++] : nums2[j++]); 10 if (i < nums1.size() || j < nums2.size()) // merge rest part 11 { 12 std::vector<int> & ref = (i < nums1.size()) ? nums1 : nums2; 13 for (i = (i < nums1.size()) ? i