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

  • 实际的举例:

  • 二分模板的流程

相关推荐
不会学习?21 分钟前
markdown笔记分享
经验分享·笔记
MaximusCoder25 分钟前
Linux信息收集Command
运维·服务器·经验分享
芯片智造3 小时前
为什么在芯片互连中,介质的k值一直在降低?
经验分享·半导体·芯片制造·芯片互联
无奈笑天下4 小时前
银河麒麟V10虚拟机安装vmtools报错:/bin/bash解释器错误, 权限不够
linux·运维·服务器·开发语言·经验分享·bash
-拟墨画扇-12 小时前
Git | Bug分支操作
git·gitee·github·bug·gitcode
小凡子空白在线学习12 小时前
Bug目录
bug
Wpa.wk13 小时前
接口测试-Postman接口测试小练习-初级
经验分享·测试工具·接口测试·postman
历程里程碑13 小时前
破解三数之和:双指针高效解法
c语言·数据结构·c++·经验分享·算法·leetcode·排序算法
weixin_537217061 天前
花艺资源合集
经验分享
宏集科技工业物联网1 天前
工业HMI选型指南(下):边缘计算、一体化架构与Web化趋势
经验分享·边缘计算·工业自动化·hmi·工控屏·工业触摸屏