二分查找,在经过:

  • 34——https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/
  • 35——https://leetcode-cn.com/problems/search-insert-position/
  • 69——https://leetcode-cn.com/problems/sqrtx/
  • 367——https://leetcode-cn.com/problems/valid-perfect-square/

的学习之后,我的二分想法如下:

int left, right, mid;
while (left <= right) {
mid = left + (right - left)/2;
if (mid < target) {
left = mid + 1;
}else if (mid > target) {
right = mid - 1;
}else {
return mid;
}
return -1;
}

同时,以下有两个二分算法的注意事项:

  1. 使用二分,数组必须是非降序的
  2. 使用二分之前,必须将问题转化为在序列中寻找特定数值的数,或者在特定问题中的“比较”方式,即定义好所需的compareTo()

最新文章

  1. sqlserver Between And的问题
  2. Git撤销操作命令
  3. php大力力 [024节]PHP中的字符串连接操作(2015-08-27)
  4. 获得项目的绝对地址 getRequestURI,getRequestURL的区别
  5. UVA 10537 The Toll! Revisited uva1027 Toll(最短路+数学坑)
  6. hdoj 1035 Robot Motion
  7. 近期在调用 calendar.js 的时候出现中文乱码! 解决方式
  8. 天体程序猿叹息——变化hosts对
  9. 不合法语句 self.contentView.frame.origin.x = x;
  10. java基础解析系列(六)---深入注解原理及使用
  11. [Luogu3455][POI2007]ZAP-Queries
  12. java-最大连续子数组和(最大字段和)
  13. 一次mysql主从加keepalived配置搭建及切换演示
  14. 2018-2019-2 20165234 《网络对抗技术》 Exp0 Kali安装 Week1
  15. Red Hat Enterprise 7.5 安装后无法进入图形界面 This system is not registered with an entitlement server. You can use subscription-manager to register.
  16. Vultr服务器端口
  17. 2010 SD - ICPC D - Emergency
  18. luogu P2387 [NOI2014]魔法森林
  19. ssh采用expect实现自动输入密码登录、拷贝
  20. 使用idea创建maven多模块项目

热门文章

  1. kubernetes使用jenkins Pipeline 部署Nginx
  2. Python - 基本数据处理函数round()、int()、floor()、ceil()
  3. Python - 面向对象编程 - 实战(5)
  4. openswan协商流程之(一):main_outI1()
  5. AQS深入分析
  6. java9的JShell小工具和编译器两种自动优化
  7. Mybatis-基本学习(下)
  8. MySQL高级语句(二)
  9. ysoserial CommonsColletions3分析(2)
  10. [第四篇]——Windows Docker 安装之Spring Cloud直播商城 b2b2c电子商务技术总结