/**
* 请实现有重复数字的升序数组的二分查找
* 给定一个 元素有序的(升序)长度为n的整型数组 nums 和一个目标值 target ,
* 写一个函数搜索 nums 中的第一个出现的target,如果目标值存在返回下标,否则返回 -1
*
* @param nums
* @param target
* @return
*/
public int search(int[] nums, int target) {
//边界条件判断
if (nums == null || nums.length == 0) {
return -1;
}
int left = 0;
int right = nums.length - 1;
while (left < right) {
int mid = left + (right - left) / 2;
if (nums[mid] < target) {
left = mid + 1;
} else {
right = mid;
}
}
return nums[left] == target ? left : -1;
}
请实现有重复数字的升序数组的二分查找
本文介绍了一个针对含有重复元素的升序数组进行二分查找的方法。该方法能够在数组中找到目标值的第一个出现位置,并返回其索引。如果目标值不存在,则返回-1。文章通过具体的Java代码实现了这一功能。
1万+

被折叠的 条评论
为什么被折叠?



