代码随想录集训营-DAY1
二分查找有递归和非递归写法,但两者关键都在于如何处理边界条件按和进一步确定Middle,left和right
二分查找的思路总体比较简单
class Solution {
public:
int search(vector<int>& nums, int target) {
int left=0;
int right=nums.size()-1;
while(left<=right){
int middle=(right-left)/2+left;
if(nums[middle]==target)
{
return middle;
}
else if(nums[middle]>target)
{
right=middle-1;
}
else{
left=middle+1;
}
}
return -1;
}
};
二分查找的思路总体比较简单
class Solution {
public:
int search(vector<int>& nums, int target) {
int left=0;
int right=nums.size()-1;
while(left<=right){
int middle=(right-left)/2+left;
if(nums[middle]==target)
{
return middle;
}
else if(nums[middle]>target)
{
right=middle-1;
}
else{
left=middle+1;
}
}
return -1;
}
};
全部评论
相关推荐

点赞 评论 收藏
分享
投票
点赞 评论 收藏
分享

点赞 评论 收藏
分享