upper_bound——自己的实现
2024-10-21 03:52:09
int BSearch()
{
int ln(1),rn(n+1);
while(ln+1<rn)
{
int mid=(ln+rn)>>1;
if (Check(mid))
{
ln=mid;
//mid符合标准,区间变为[mid,rn)
}
else
{
rn=mid;
//区间变为[ln,mid)
}
}
//结束的区间为[ln,ln+2)
if (Check(ln+1))
return ln+1;
else
return ln;
}
实现的很不优美...但是不知道如何不加最后的IF而做到返回>val的最小下标
最新文章
- JS学习笔记10之Math对象
- MicroERP数据初始化SQL脚本
- CXF发布webService服务以及客户端调用
- NYOJ 536 开心的mdd(DP)
- 说说null和undefined的那些事
- java之BASE64加解密
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
- Android从零单排之自动跟新
- 查看Linux系统网卡信息
- win7家庭版任务栏预览消失,只显文字终极解决法
- MPMoviePlayerController过期导致视频播放时间条颠倒及AVPlayerViewController的用法
- php错误消息捕获
- git add相关
- kafka_2.11-0.10.0.0安装步骤
- Editplus5.0 注册码
- [android] 采用post的方式提交数据
- ActiveMQ后台使用
- kaggle PredictingRedHatBusinessValue 简单的xgboost的交叉验证
- chrome浏览器的VUE调试插件Vue.js devtools
- 交换机与VLAN