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

  • 实际的举例:

  • 二分模板的流程

相关推荐
Giser板栗糖44 分钟前
发现笔记本电脑的触摸板没反应,怎么修复
经验分享·电脑
louiseailife2 小时前
金融智能体平台实践经验:高合规与效率提升
经验分享
镰圈量化2 小时前
降息利好板块
大数据·经验分享
测绘小沫-北京云升智维2 小时前
无人机RTK信号弱问题全维度解决方案
经验分享·无人机
q27551300424 小时前
PL27A1对拷线搭配 PTCB818A 设计资料 高速跨系统互传+键鼠共享一缆搞定
经验分享·单片机·嵌入式硬件·硬件架构·信号处理
联蔚盘云5 小时前
解读|《人工智能安全治理框架》1.0
经验分享
_Minato_5 小时前
数据库知识整理——数据库控制功能
数据库·经验分享·笔记·软考·计算机系统
木棉知行者6 小时前
【第2篇】RuntimeError: nms_impl: implementation for device cuda:0 not found.
人工智能·深度学习·bug·mmdetection
Metaphor6926 小时前
Java 读取或删除 Excel 文件文档属性:Spire.XLS for Java 实用指南
经验分享
DB!!!7 小时前
【bug】系统CA证书毁坏导致找不到有效的 OpenPGP 数据
bug