【BUG 弹药库】二分模板的优化

文章目录

      • [1. 为什么要优化二分算法?](#1. 为什么要优化二分算法?)
      • [2. 如何去优化原来的二分模板?](#2. 如何去优化原来的二分模板?)
      • [3. 案例分析](#3. 案例分析)

1. 为什么要优化二分算法?

① 平常学习的二分整数的算法模板边界的问题很容易出错,不知道什么时候用 l = mid,r = mid - 1;或者是 r = mid,l = mid + 1,这两个地方很容易出错,所以要进行优化;

2. 如何去优化原来的二分模板?

  • 优化后的代码模板如下:
cpp 复制代码
int l = -1, r = n;		// 注意:将二分查找的下标控制在 [0, n-1]

while (l + 1 != r)
{
		int mid = (l + r) / 2;
		
		if (IsBlue(mid))		// IsBlue()该函数根据具体逻辑进行编写
			l = mid;
		else 
			r = mid;
}
	// 具体返回 l 还是 r 根据你的蓝红边界的划分来确定
	return l or r;

3. 案例分析

  • 实际的举例:

  • 二分模板的流程

相关推荐
阿伟来咯~1 小时前
一些 uniapp相关bug
uni-app·bug
天行健PLUS3 小时前
【经验分享】六西格玛管理培训适合哪些人参加?
经验分享
小奥超人4 小时前
PPT文件设置了修改权限,如何取消权?
windows·经验分享·microsoft·ppt·办公技巧
Jack黄从零学c++7 小时前
C++ 的异常处理详解
c++·经验分享
做网站建设制作设计小程序推广17 小时前
如何建购物网站提升用户体验
经验分享
程思扬17 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
白狐欧莱雅18 小时前
使用python中的pygame简单实现飞机大战游戏
经验分享·python·游戏·pygame
棱角~~18 小时前
盘点和嗨格式一样好用的10款数据恢复!!
数据库·经验分享·安全·电脑·学习方法
技术小赵1 天前
tiktok付费广告效果说明经验分享
经验分享
华东同舟求职1 天前
舜宇光学科技入职测评:北森商业推理40分钟28题真题解析、网盘资料下载、答题技巧
经验分享·科技·职场和发展·求职招聘