Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c643596

Browse files
committed
upd: medianOfTwoSortedArrays.js
1 parent 22c47f2 commit c643596

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

‎README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ LeetCode JavaScript Solution
1111
| Length Of Last Word | Easy | 2017年10月10日 |
1212
| Longest Substring Without Repeating Characters | Medium | 2017年10月11日 |
1313
| Binary Number with Alternating Bits | Easy | 2017年10月13日 |
14+
| Median of Two Sorted Arrays | Hard | 2017年10月13日 |

‎src/medianOfTwoSortedArrays.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* @param {number[]} nums1
3+
* @param {number[]} nums2
4+
* @return {number}
5+
*/
6+
var findMedianSortedArrays = function(nums1, nums2) {
7+
var length = nums1.length + nums2.length,
8+
mid = Math.floor(length / 2),
9+
merge = [], temp = [];
10+
var i = 0, j = 0, k = 0, odd = length % 2 !== 0;
11+
mid = odd ? mid : mid - 1;
12+
while (i < nums1.length || j < nums2.length) {
13+
if (nums1[i] === undefined) {
14+
merge[k] = nums2[j++];
15+
} else if (nums2[j] === undefined) {
16+
merge[k] = nums1[i++];
17+
} else {
18+
merge[k] = nums1[i] > nums2[j] ? nums2[j++] : nums1[i++];
19+
}
20+
if (k === mid) {
21+
temp.push(merge[k]);
22+
if (odd) {
23+
break;
24+
} else {
25+
++mid;
26+
}
27+
}
28+
k++;
29+
}
30+
return temp[1] === undefined ? temp[0] : (temp[0] + temp[1]) / 2;
31+
};

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /