1. Binary Search

while ( i + 1 < j) 模板

Rotated Array

Matrix里的二分查找

二分答案

Median of two sorted Array

  • 经典难题

  • 参考山景城1姐视频 3:10开始,10:50 https://www.youtube.com/watch?v=ScCg9v921ns

  • cutA, cutB

  • L1<=R2, L2<= R1

  • 假设nums1.length <= nums2.length, 可以只对较短的nums做binary search, O(Log(min(m,n)))

  • cutA是nums1的分界线,表示nums1分割线左边数组元素个数

  • cutB是nums2的分界线,表示nums2分割线左边数组元素个数

  • cutA和cutB左边的数肯定都是<=右边的数

  • L1为cutA左边最大的数,R1为cutA右边最小的数

  • L2为cutB左边最大的数,R2为cutB右边最小的数

  • 规定左边的元素个数会等于或比右半边元素个数多1,这样当len为奇数时,median num = max(L1, L2)

  • 问题转化成如何找到正确的cutA和cutB的位置--> L1<=R2, L2<= R1

Last updated

Was this helpful?