Cracking the code: 257
如果是sorted,沒有rotated的array,很明顯我們會用Binary search. 但是它旋轉(zhuǎn)了以后,就不是binary的狀態(tài)了状勤。我的直覺是先iterate一遍,找到pivot點(diǎn)【第一個 前一個比后一個大】屋休。然后對左右兩個subarray進(jìn)行binary search.
【我覺得我自己上面那個方法不錯】
【但是今天看教程,這個方法的理解太贊了】
首先如果是正常的sorted array:生序排列
34012 是rotated
對于Rotated 來使用Binary Search有兩種可能的情況备韧。要么mid在左半部分劫樟,要么在右半部分。
這里用到了九章算法的一個binary search模板:
Followup-如果數(shù)組里有相同數(shù)字:
圖會變成這樣织堂。
沒想到連這題都搞不定阿叠艳。。易阳「浇希看完視頻,不按照九章算法模板就是過不了潦俺。
omg拒课。。事示。最大的錯誤就是在判斷mid的點(diǎn)在左半部分還是右半部分早像。