Solving LeetCode - Median of Two Sorted Arrays
pharia-le
Posted on November 21, 2020
Question
Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays.
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.
Example 3:
Input: nums1 = [0,0], nums2 = [0,0]
Output: 0.00000
Example 4:
Input: nums1 = [], nums2 = [1]
Output: 1.00000
Example 5:
Input: nums1 = [2], nums2 = []
Output: 2.00000
Constraints:
- nums1.length == m
- nums2.length == n
- 0 <= m <= 1000
- 0 <= n <= 1000
- 1 <= m + n <= 2000
- -106 <= nums1[i], nums2[i] <= 106
Let's Go!
Solve by using PREP.
- P - Two parameters. Both are an array of integers (nums1 & nums2).
- R - A number which represents the median of the combined arrays.
- E - Examples provided by question. (See Above)
- P - See Below
var findMedianSortedArrays = function(nums1, nums2) {
// Use Reduce method to combines nums1 & nums2 to single array named data
// Sort array from smallest to largest number
// Return the below
// Conditional if even or odd length data
// If odd grab middle idx of data
// Else even grab middle 2 numbers and divide by 2
};
Translate into code...
var findMedianSortedArrays = function(nums1, nums2) {
// Use Reduce method to combines nums1 & nums2 to single array named data
let data = nums1.reduce((result, num) => {
result.push(num)
return nums2
}, nums2)
// Sort array from smallest to largest number
data.sort((a,b) => a - b)
// Return the below
// Conditional if even or odd length data
// If odd grab middle idx of data
// Else even grab middle 2 numbers and divide by 2
if (data.length % 2 === 0) {
return (data[data.length/2 - 1] + data[data.length/2]) / 2
} else {
return data[data.length / 2 - .5]
}
};
Conclusion
& Remember... Happy coding, friends! =)
Sources
💖 💪 🙅 🚩
pharia-le
Posted on November 21, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
webdev Understanding HTTP, Cookies, Email Protocols, and DNS: A Guide to Key Internet Technologies
November 30, 2024