4. Median of Two Sorted Arrays

1.問題

  • 找出兩list合併後的中位數

2.想法

  • O(m + n): 比較兩list的元素並將最小值先放入list中, return list的中位數

  • O(Log(m + n)):

    • k的初始值為(m + n) / 2, 每次都將k折半, 並比較nums1[k/2]與nums2[k/2], 如果nums1[k/2]較大, 則下次迭代時將不把比nums2[k/2]小的數字納入比較; 反之亦然

    • 此做法等於每次屑減 (m + n) /2, 再將剩下的(m + n) / 2個數字進行下一次迭代, 等同於使用Binary search

3.程式碼

  • O(m + n)

  • O(Log(m + n))

4.References

Last updated