(咕咕咕中)
防止死循环最稳的办法当然是固定循环次数,最后特判边界,但是平时总是懒得这么写……
中位数是向下取整还是向上取整取决于分支怎么写
int Binary_Search(int l, int r) {
while(l < r) {
int mid = l + r >> 1; // 中位数向下取整
if(/*判断条件*/) l = mid + 1;
else r = mid;
}
return l;
}
int Binary_Search(int l, int r) {
while(l < r) {
int mid = l + r + 1 >> 1; // 中位数向上取整
if(/*判断条件*/) l = mid;
else r = mid - 1;
}
return l;
}
原文:https://www.cnblogs.com/JHTBlog/p/14730465.html