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

  • 实际的举例:

  • 二分模板的流程

相关推荐
源代码•宸22 分钟前
分布式缓存-GO(简历写法、常见面试题)
服务器·开发语言·经验分享·分布式·后端·缓存·golang
yimengsama39 分钟前
VMWare虚拟机如何连接U盘
linux·运维·服务器·网络·windows·经验分享·远程工作
weixin_537217062 小时前
Ai算法资源合集
经验分享
斌蔚司李3 小时前
机械革命 AX210 网卡断网断流、蓝牙断流问题解决办法
经验分享
edtoplort3 小时前
AI大模型正在“变笨”:一场看不见的认知退化危机
经验分享
宝宝单机sop3 小时前
社区工作者资源合集(第二辑)
经验分享
海边夕阳20064 小时前
【每天一个AI小知识】:什么是扩散模型?
人工智能·经验分享·深度学习·机器学习·扩散模型
yBmZlQzJ4 小时前
内网穿透 + 域名解析:到底解决了什么核心问题?
运维·经验分享·网络协议·docker·容器
北岛寒沫5 小时前
北京大学国家发展研究院 经济学辅修 经济学原理课程笔记(第七课 国际贸易)
经验分享·笔记
%编程小白%5 小时前
戴尔G15拯救指南 — 无法正常进入系统
经验分享