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

  • 实际的举例:

  • 二分模板的流程

相关推荐
明灯L9 分钟前
《函数基础与内存机制深度剖析:从 return 语句到各类经典编程题详解》
经验分享·python·算法·链表·经典例题
100分题库小程序15 分钟前
2025年机动车授权签字人考试判断题分享
经验分享·笔记
mycm030411 小时前
新闻发稿媒体投稿软文推广有哪些需要注意的事项
经验分享·媒体
碣石潇湘无限路14 小时前
【奇点时刻】GPT-4o新生图特性深度洞察报告
人工智能·经验分享·chatgpt·gpt4o·新生图特性
汇能感知17 小时前
光谱相机的光谱数据采集原理
经验分享·笔记·科技
moongoblin17 小时前
杂篇-行业分类一二-2(通、专用设备制造,汽车制造)
经验分享·汽车·制造
『六哥』18 小时前
Windows 10 如何设置右击鼠标快速进行“关机”
windows·经验分享·编辑器
odoo-卜永18 小时前
ubuntu22.04连接爱普生打印机型号L385
linux·经验分享·ubuntu
渗透测试老鸟-九青20 小时前
面试经验分享 | 成都渗透测试工程师二面面经分享
服务器·经验分享·安全·web安全·面试·职场和发展·区块链
Amos_ FAT21 小时前
关于串口协议的一点知识
经验分享·网络协议