代码随想录集训营-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;
}
};
全部评论
相关推荐
程序员花海:还没有来得及准备的同学可以看下学习路线:https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users算法题:https://www.nowcoder.com/feed/main/detail/20e7a999fa04485b88340a274411ca0d?sourceSSR=users八股文:https://www.nowcoder.com/discuss/833102362771251200?sourceSSR=users简历书写方式:https://www.nowcoder.com/discuss/839907820706205696?sourceSSR=users都是以前在牛客发的文章~


点赞 评论 收藏
分享

