Algorithm
[leetcode] 4. Median of Two Sorted Arrays (Typescript)
KMSEOP
2021. 2. 21. 13:59
728x90
Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays.
Follow up: 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.
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
function findMedianSortedArrays(nums1: number[], nums2: number[]): number {
let result: number = 0;
const sortedArray: number[] = nums1.concat(nums2).sort((a, b) => a - b);
const medianNumbers: number [] = [];
if (sortedArray.length % 2 === 1) {
const index: number = Math.round(sortedArray.length / 2) - 1;
medianNumbers.push(sortedArray[index]);
} else {
const index1: number = sortedArray.length / 2 - 1;
const index2: number = index1 + 1;
medianNumbers.push(sortedArray[index1]);
medianNumbers.push(sortedArray[index2]);
}
result = medianNumbers.reduce((a, v) => a + v) / medianNumbers.length;
return result;
};
728x90