题目链接
这一题有一个细节要注意,必须比较最右边的端点,否则 mid 的元素值和 right 的元素值相等的时候不好缩小区间。因为当right > left 的时候 mid 的值是肯定小于 right 的,这样right–才能保证不会缩过头了,因为right前面至少有一个还能满足要求就是mid, 可以大胆的往前缩。
class Solution { public: int minArray(vector& numbers) { int left = 0, right = numbers.size()-1; while(left numbers[right]){ left = mid+1; } else{ right -= 1; } } return numbers[left]; } };
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)