【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. 案例分析

  • 实际的举例:

  • 二分模板的流程

相关推荐
测绘小沫-北京云升智维几秒前
极飞P20植保无人机无法正常雾化维修指南
经验分享·无人机
三流架构师4 分钟前
抖音短视频资源合集
经验分享
数字芯片实验室14 分钟前
仿真器出bug了?分频时钟竞争的诡异仿真现象
fpga开发·bug
菱玖1 小时前
Linux终端命令提示行变单行
经验分享·笔记
Vallelonga1 小时前
ELF 文件和 Linux 内核镜像文件
linux·经验分享
YY_pdd2 小时前
全面战争三国-mod开发教程(demo,已实证)
经验分享·笔记·学习
星纬智联技术2 小时前
AI 自动化测试方案分享
经验分享
changyunkeji2 小时前
长云科技:电缆输送机操作规程
经验分享·科技
是毛毛吧2 小时前
高效学习----告别“视频收藏夹吃灰”!计算机专业如何建立“输出倒逼输入”的学习闭环?
经验分享·学习
Zsh-cs2 小时前
苍穹外卖day9前端订单分页查询后订单菜品不展示(已解决)
bug