C++二分查找之while循环题解
int search(vector<int>& nums, int target) {
// write code here
int isLeft = 0;
int isRight = nums.size() - 1;
while ((isLeft+1) < isRight) {
if (nums[isLeft] == target)
return isLeft;
int num = (isLeft + isRight) / 2;
if (nums[num] < target) {
isLeft = num;
}
if (nums[num] >= target) {
isRight = num;
}
}
if (nums[isRight]==target)
{
return isRight;
}
return -1;
}



京公网安备 11010502036488号