这个还是二分法查找的一个应用,这里需要想清楚的是中间的数字需要和谁去比较,因为原来是递增的,旋转之后,最大的会挨着最小的,那其实我们的中位数只需要和右面的比较就行了,大于右面的,说明右面包含最小的;反之左面包含。
然后我们需要找最小的,所以左面包含的时候记得把中位数加进区间,有可能他就是最小的。
代码:
https://github.com/hanleirx/LeetCode/blob/master/153.%20%E5%AF%BB%E6%89%BE%E6%97%8B%E8%BD%AC%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9C%80%E5%B0%8F%E5%80%BC
网友评论