码迷,mamicode.com
首页 > 其他好文 > 详细

Sword 53-I

时间:2021-03-01 13:44:35      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:solution   遍历   数组   tps   lse   情况   nbsp   https   div   

https://leetcode-cn.com/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/solution/

由于是有序数组,所有二分找左界线和右界限。

while i <= j, 最终会在j < i 的时候停下来,所以是可以遍历到整个数组的

又因为 j 不变或者减小,i 不变或者增大必然有一种情况会发生,所以循环是必将停止的

if nums[mid] <= target: i = mid + 1 else: j = mid - 1, 这时候 由于 i = mid + 1所以最后停下的 i 肯定是第一个 > target 的右边界
同理,当 nums[mid] < target 时候, i 肯定是肯定是第一个 >= target 的左边界, 等于说这是一个左闭右开的区间
相减就为答案
 

Sword 53-I

标签:solution   遍历   数组   tps   lse   情况   nbsp   https   div   

原文地址:https://www.cnblogs.com/FriskyPuppy/p/14458824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!