-
leetCode-Median of Two Sorted Arrays(binary search)프로그래밍/algorithm 2021. 7. 15. 11:36
문제
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.
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
풀이
const findMedianSortedArrays = function (nums1, nums2) { let totalLen = (nums1.length + nums2.length) let idx1 = 0; let idx2 = 0; let curr; let last; while (idx1 + idx2 <= totalLen / 2) { if (curr) { last = curr; } let elOne = nums1[idx1]; let elTwo = nums2[idx2]; if (elOne === undefined) { curr = elTwo; idx2++; } else if (elTwo === undefined) { curr = elOne; idx1++; } else if (elOne < elTwo) { curr = elOne; idx1++; } else { curr = elTwo; idx2++; } console.log(curr, last); } return totalLen % 2 === 0 ? (last + curr) / 2 : curr; };
'프로그래밍 > algorithm' 카테고리의 다른 글
leetCode - ZigZag Conversion (0) 2021.07.19 leetCode - Longest Palindromic Substring(DP) (0) 2021.07.16 leetCode - Longest Substring Without Repeating Characters(LinkedList) (0) 2021.07.14 leeCode -Add Two Numbers(LinkedList) (0) 2021.07.14 leetCode - Reverse Linked List(LinkedList) (0) 2021.07.07