海棠书屋 > 科幻小说 > 编程之战 > 第一百七十章 版本问题(下)
    盛满了咖啡的茶杯,表面蒙着一层水雾。

    杯中液体微微荡漾,散发着浓郁的香味。

    杨成轻抿一口,顿时感觉神清气爽。

    深夜的瞌睡似乎也驱散了不少呢。

    他开始思索这个问题。

    顺序遍历判断,的确不是个好方法。

    如何最小化判断次数,是这个问题的关键。

    这个问题似乎跟二分搜索有关联?

    杨成突然想到这点。

    肯定是有所区别的,但思想上有共性。

    二分搜索不断缩小区间的做法在这个问题同样适用。

    不过得做一点小小的改变。

    杨成在脑海中飞快地整理思绪。

    假设left指针指向第1个版本。

    而right指针指向第n个(最后一个)版本。

    取left与right指针的中间版本id版本。

    如果id版本是坏的,有一个问题值得注意:

    它有可能是第一个坏的版本,我们无法确定。

    所以将right指针指向id版本。

    相当于在右边缩小区间。

    而如果id版本是好的,说明一个问题:

    第一个坏的版本肯定是在id版本的右侧。

    所以将left指针指向id+1的版本。

    相当于在左边缩小区间。

    在left和right做出改变后,继续分析id版本。

    重复这个过程

    直到left与right指针碰面。

    此时right指向的版本,就是第一个坏的版本。

    思绪理通顺了,编写代码是水到渠成的事儿。

    在项目经理的注视下,杨成写出了一段短小而精悍的代码。

    他长吁一口气,干了这杯咖啡。

    项目经理微微点头,拍拍他的肩膀。

    “小杨啊,继续好好干”。

    “我在你这个年纪,可是吃苦耐劳得很呢”。

    公司里,依然灯火通明,热火朝天。

    而窗外的黑夜却已是寂静一片。

    ()