引言
为了准备考研复试,现在希望每天都能刷题来督促自己学习相应的算法以提升自己的编程能力,后续也将持续更新来学习一些基本的算法
二分查找
int search(vector<int>& nums,target){
int l=0,r=nums.size()-1;
//这一步的判断很重要,是关于边界的界定,l<=r,的判断就可以对比的左右边界两个值
while(l<=r){
mid = (l+r)/2;
if(nums[i]==target){
return mid;
}
//这里容易犯错,是数组中的值与target进行一个对比
else if(nums[i]<target){
l = mid + 1;
}
else{
r = mid -1;
}
}
return -1;
}