4-findMedianSortedArrays.js
1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @return {number}
*/
var findMedianSortedArrays = function(nums1, nums2) {
function merge(nums1, nums2) {
let nums = [];
while (nums1.length || nums2.length) {
if (nums1.length === 0) {
return nums.concat(nums2);
}
if (nums2.length === 0) {
return nums.concat(nums1);
}
if (nums1[0] < nums2[0]) {
nums.push(nums1.shift());
} else {
nums.push(nums2.shift());
}
}
return nums;
}
let nums = merge(nums1, nums2);
// let nums = [...nums1, ...nums2];
// nums.sort((a,b)=>a-b);
// console.info(nums1, nums2, '=>', nums)
let len = nums.length;
if (len % 2 === 0) {
return (nums[len/2-1] + nums[(len/2)]) / 2;
} else {
return nums[~~(len/2)];
}
};
var nums1 = [];
var nums2 = [9,
28,
245,
307,
461,
561,
680,
683];
console.info(findMedianSortedArrays(nums1, nums2));