北京网站制作很好 乐云践新,如何设计公司标志图案,wordpress 多站点设置,能不能自己做视频网站目录 1 知识点2 代码模板 1 知识点
有单调性一定可以二分#xff0c;但在某些情况下#xff0c;不具有单调性也可以二分。 单调性也可以抽象成某类性质#xff0c;分界点左边不满足此性质#xff0c;而右边满足此性质。当然也可以分界点左边满足此性质#xff0c;而右边不… 目录 1 知识点2 代码模板 1 知识点
有单调性一定可以二分但在某些情况下不具有单调性也可以二分。 单调性也可以抽象成某类性质分界点左边不满足此性质而右边满足此性质。当然也可以分界点左边满足此性质而右边不满足此性质。 注意存在边界情况容易进入死循环此时需要考虑[0,1]的case去设置mid。
2 代码模板
//有序向量nums
//请找到第一个大于等于x的下标相当于lower_bound()
int l 0, r nums.size() - 1;
while (l r) {int mid l r 1;if (nums[mid] x) { //找到第一个大于等于x的下标相当于lower_bound()r mid;} else {l mid 1;}
}
if (nums[l] x) {cout pass endl;
} else {cout failed endl;
}//有序向量nums
//请找到最后一个小于等于x的下标
int l 0, r nums.size() - 1;
while (l r) {int mid l r 1 1;if (nums[mid] x) {l mid;} else {r mid - 1;}
}
if (nums[l] x) {cout pass endl;
} else {cout failed endl;
}