Search for a Range[难]

这题看标题一直觉得是水题就没点进来。我的思路: 首先规定要O(logn)的话,基本上必须只能用binary search 来找。但是当你找到一个以后,首先并不知道这个是不是starting of target. 即便知道,还是需要往后遍历来知道什么时候ending。这样worst case可以O(n)。。

整体跟Rotated Sorted Array很像

首先画图: 有duplicate的sorted array

主要处理两种情况, 当target == mid时候,要么把Right 指针往左移动到mid点。或者把Left指针往right移动到mid点。

一共用2次binary search, 一次找起点,一次找终点。

牛逼啊!!!!1

我不想看九章的模板binary search

但是又不知道怎么找first time target appears, 和last time.

这个小哥的答案太屌了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容