---
# System prepended metadata

title: 4. Median of Two Sorted Arrays

---

# 4. Median of Two Sorted Arrays

## 題目概要

給定兩個排序陣列 nums1 和 nums2，需分別返回兩個排序陣列的中位數。

總體運行時間複雜度應該是`O(log(m+n))`。

## 解題技巧

- 先合併兩陣列後由小到大排序，若合併後的陣列長度是奇數只需要返回 `arr.length / 2` 的數; 若合併後的陣列長度是偶數則需要將 `arr.length / 2` 及 `(arr.length / 2) - 1` 相加再除以 2。

## 程式碼

```javascript=
/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number}
 */
var findMedianSortedArrays = function(nums1, nums2) {
    const arr = [...nums1, ...nums2].sort((a, b) => a - b);
    const mid = arr[Math.floor(arr.length / 2)];

    let result = 0;
    if (arr.length % 2 === 1) {
        result = mid;
    } else {
        const mid2 = arr[Math.floor(arr.length / 2) - 1];
        result = ((mid + mid2) / 2);
    }
    return result;
};
```

![](https://i.imgur.com/zV5WSOT.png)
