First Bad Version

这道题暴力解法肯定是从1开始iterate 到n,什么时候isBadVersion, 就返回index。 

Better way。 我感觉可以用binary search 的方法。 因为有一点array本身是sort好的,然后只要这个东西不是bad version,我们可以filter一半的element。


结果没想到Binary的O(Logn)方法竟然都不行。。。

很悲痛的发现原来我binary search都写错了。。。 mid = low+(high-low)/2 ....

做一个简单的Math  a+(b-a)/2 = a+0.5b-0.5a=0.5a+0.5b=1/2(a+b)

也就是说binary search (high-low)/2 是不可原谅的,最多也就写成(high+low)/2.

T^T 菜如狗


参考别人的代码! 看看人家写的多么简介。我一开始还有点不太懂他为什么这么做。后来想到有一个search position那道题,也是用Binary的做法,最后return left值。【如果能够找到的话】。

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

推荐阅读更多精彩内容