162. Find Peak Element
分界点很多找其中任意一个的情况。例如findPeak, 它的peak(波)可以有很多,peak(波)之间也没有性质能把它们区分出来,乍看上去不适用于二分。但题目要求并不是找特定的peak,而是找到任意一个就行了。因此给定的数列可以划分成俩坨,前面那坨满足严格上升(题有说前后俩元素不会相等),后面那坨满足严格下降,返回的也就是个划分点peak。只是我们无法用这个方法找到特定的peak。
由于要返回的是peak, 如果在判断上升后把start移到mid后可能会错过这最后的peak。因此判断不是上升把end移动到mid前是最合理的。还有当mid == start时,如[2, 3],因为现在不会让start移到mid后,需要强制退出。
Last updated
Was this helpful?