首页 > 代码库 > First Occurrence Of Binary Search
First Occurrence Of Binary Search
和普通的binary search不同就是在处理找到等于target的数
首先要记录这个结果,然后我们现在其实是需要向左找,右边的数都不重要,因为我们要找最左出现的,我们就假设现在的情况是nums[mid] > target,所以high = mid - 1.如果找不到了,那么之前的结果就是最左侧的,否则就继续找。
1 public int firstOccurence(int[] nums, int target) { 2 int left = 0; 3 int right = nums.length - 1; 4 int res = -1; 5 while(left <= right) { 6 int mid = left + (right - left) / 2; 7 if(nums[mid] == target) { 8 res = mid; 9 right = mid - 1;10 } else if(nums[mid] < target) {11 left = mid + 1;12 } else {13 right = mid - 1;14 }15 }16 return res;17 }
First Occurrence Of Binary Search
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。