In this post, we will solve the Median of Two Sorted Arrays LeetCode Solution.
Problem Statement:
Given two sorted arrays nums1
and nums2
of size m
and n
respectively, return the median of the two sorted arrays.
The overall run time complexity should be O(log (m+n))
.
Example 1:
Input: nums1 = [1,3], nums2 = [2] Output: 2.00000 Explanation: merged array = [1,2,3] and median is 2.
Example 2:
Input: nums1 = [1,2], nums2 = [3,4] Output: 2.50000 Explanation: merged array = [1,2,3,4] and median is (2 + 3) / 2 = 2.5.
Constraints:
nums1.length == m
nums2.length == n
0 <= m <= 1000
0 <= n <= 1000
1 <= m + n <= 2000
-106 <= nums1[i], nums2[i] <= 106
Median of Two Sorted Arrays LeetCode Solution
Problem solution in JavaScript programming:
function findMedianSortedArrays(nums1, nums2) { const merged = nums1.concat(nums2).sort((a, b) => a - b); const length = merged.length; if (length % 2 === 0) { return (merged[length / 2 - 1] + merged[length / 2]) / 2; } else { return merged[Math.floor(length / 2)]; } }
Problem solution in Python programming:
class Solution: def findMedianSortedArrays(self, nums1, nums2): merged = sorted(nums1 + nums2) length = len(merged) if length % 2 == 0: return (merged[length // 2 - 1] + merged[length // 2]) / 2 else: return merged[length // 2]
Problem solution in C++ programming:
class Solution { public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { vector<int> merged; int i = 0, j = 0; while (i < nums1.size() && j < nums2.size()) { if (nums1[i] <= nums2[j]) { merged.push_back(nums1[i]); i++; } else { merged.push_back(nums2[j]); j++; } } while (i < nums1.size()) { merged.push_back(nums1[i]); i++; } while (j < nums2.size()) { merged.push_back(nums2[j]); j++; } int length = merged.size(); if (length % 2 == 0) { return (merged[length / 2 - 1] + merged[length / 2]) / 2.0; } else { return merged[length / 2]; } } };
Leave a Reply