题目描述
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
问题分析
确定左右界,然后按规则进行更新即可
代码
int search(int* nums, int numsSize, int target) {
int left = 0;
int right = numsSize-1;
int middle = (left+right)/2;
while(left<=right){
if(nums[middle]==target){
return middle;
}else if(nums[middle]<target){
left = middle+1;
middle = (left+right)/2;
}else{
right = middle -1;
middle = (left+right)/2;
}
}
return -1;
}
提交结果截图

文章讲述了如何在已排序的整数数组中使用二分查找算法寻找目标值,通过确定左右边界并不断缩小搜索范围,如果找到则返回目标值的下标,否则返回-1。

258

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



