programmercarl——数组——二分查找
2024-08-31 06:42:02
二分查找,在经过:
- 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;
}
同时,以下有两个二分算法的注意事项:
- 使用二分,数组必须是非降序的
- 使用二分之前,必须将问题转化为在序列中寻找特定数值的数,或者在特定问题中的“比较”方式,即定义好所需的compareTo()
最新文章
- sqlserver Between And的问题
- Git撤销操作命令
- php大力力 [024节]PHP中的字符串连接操作(2015-08-27)
- 获得项目的绝对地址 getRequestURI,getRequestURL的区别
- UVA 10537 The Toll! Revisited uva1027 Toll(最短路+数学坑)
- hdoj 1035 Robot Motion
- 近期在调用 calendar.js 的时候出现中文乱码! 解决方式
- 天体程序猿叹息——变化hosts对
- 不合法语句 self.contentView.frame.origin.x = x;
- java基础解析系列(六)---深入注解原理及使用
- [Luogu3455][POI2007]ZAP-Queries
- java-最大连续子数组和(最大字段和)
- 一次mysql主从加keepalived配置搭建及切换演示
- 2018-2019-2 20165234 《网络对抗技术》 Exp0 Kali安装 Week1
- Red Hat Enterprise 7.5 安装后无法进入图形界面 This system is not registered with an entitlement server. You can use subscription-manager to register.
- Vultr服务器端口
- 2010 SD - ICPC D - Emergency
- luogu P2387 [NOI2014]魔法森林
- ssh采用expect实现自动输入密码登录、拷贝
- 使用idea创建maven多模块项目
热门文章
- kubernetes使用jenkins Pipeline 部署Nginx
- Python - 基本数据处理函数round()、int()、floor()、ceil()
- Python - 面向对象编程 - 实战(5)
- openswan协商流程之(一):main_outI1()
- AQS深入分析
- java9的JShell小工具和编译器两种自动优化
- Mybatis-基本学习(下)
- MySQL高级语句(二)
- ysoserial CommonsColletions3分析(2)
- [第四篇]——Windows Docker 安装之Spring Cloud直播商城 b2b2c电子商务技术总结