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的最小下标

最新文章

  1. JS学习笔记10之Math对象
  2. MicroERP数据初始化SQL脚本
  3. CXF发布webService服务以及客户端调用
  4. NYOJ 536 开心的mdd(DP)
  5. 说说null和undefined的那些事
  6. java之BASE64加解密
  7. 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
  8. Android从零单排之自动跟新
  9. 查看Linux系统网卡信息
  10. win7家庭版任务栏预览消失,只显文字终极解决法
  11. MPMoviePlayerController过期导致视频播放时间条颠倒及AVPlayerViewController的用法
  12. php错误消息捕获
  13. git add相关
  14. kafka_2.11-0.10.0.0安装步骤
  15. Editplus5.0 注册码
  16. [android] 采用post的方式提交数据
  17. ActiveMQ后台使用
  18. kaggle PredictingRedHatBusinessValue 简单的xgboost的交叉验证
  19. chrome浏览器的VUE调试插件Vue.js devtools
  20. 交换机与VLAN

热门文章

  1. Java代码中的(解压7z加密版)
  2. LeetCode(279)Perfect Squares
  3. rs485多主
  4. poj-1700 crossing river(贪心题)
  5. HUD:4405-Aeroplane chess(期望飞行棋)
  6. ModelViewSet的继承关系
  7. [转] WEB前端学习资源清单
  8. mantisbt邮件配置
  9. ThreeJs 基础入门
  10. 解决debian 9 重启nameserver失效问题