这道题暴力解法肯定是从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值。【如果能够找到的话】。