题:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
大佬们,我的代码如下,之前漏了给left赋值为0;
出现数组长度为1的时候,理论这个代码是没问题的,测试用例 nums = [5] ,target =5,在控制台输出结果是0,pass
但是点击提交代码为啥同样的nums = [5] ,target =5 返回结果为 -1 啊,百思不得姐,求大佬解答,感谢感谢~~
int search(int* nums, int numsSize, int target){
int left, right = numsSize - 1;
while(left <= right)
{
//return left;
int mid = (left + right)/2;
if(nums[mid] < target)
{
left = mid + 1;
}
else if (nums[mid] > target)
{
right = mid -1;
}
else
{
return mid;
}
}
return -1;
}