int len = nums.size();
int left = 0,right = len-1;//target定义在左闭右闭区间
while(left<=right){//left==right满足左闭右闭
int middle = (left+right)/2;
if(nums[middle]>target){
right = middle-1;
}
else if(nums[middle]<target){
left = middle+1;
}
else{
return middle;
}
}
return left;//或者为return right-1;
}
int left=0,right = len-1;的含义为将target定义在左闭右闭区间内,
相对应的还有right = middle-1; left = middle+1;