96SEO 2026-06-13 18:47 2
:聊聊二分查找的那点事儿
哎呀,今天咱们又来摆弄LeetCode的老题目啦。
说实话,这道第35题可算是二分查找的入门必修课。

别担心,我不会把你逼得满头大汗。
先喝口水,哈哈,先把心情调好。
这篇文章会像老友聊天一样,随性又带点小碎碎念。
二分查找到底是个啥玩意儿?先给你捋捋概念。
二分查找,就是在有序数组里一次把区间砍掉一半。
左指针指向Zui左,右指针指向Zui右,中间点就是/2。
然后比中间值和目标值大小,决定往左走还是往右走。
循环这么干,直到左指针越过右指针为止。
听起来像在玩猜数字游戏,对吧?
为什么要用闭区间还是开区间?这个问题常常让人抓狂。
我以前也写错了一度把left <= right写成,结果少算了一个位置。
不对不对,应该是闭区间才安全。
题目给你一个升序且无重复元素的数组nums
,还有一个目标值taget。
要求返回target所在的下标,Ru果不存在就返回它应该插入的位置。
举个例子:
里找5,答案是2;找2,答案是1;找7,答案是4;找0,答案是0。
核心其实就是“lower_bound”也就是第一个大于等于target的下标。
所以二分查找的终止条件要设计得恰到好处。
实现细节:一步步敲代码# JavaScript 实现
/**
* @param {number} nums
* @param {number} target
* @return {number}
*/
var searchInsert = function {
let left = 0;
let right = nums.length - 1;
while {
// 防止溢出,用 left + >1
const mid = left + >> 1);
if {
return mid; // 找到直接返回
} else if {
left = mid + 1; // 去右边继续搜
} else {
right = mid - 1; // 去左边继续搜
}
}
// 循环结束时 left 指向第一个大于 target 的位置
return left;
};
C++ 写法顺手一点儿
int searchInsert {
int left = 0;
int right = nums.size - 1;
while {
int mid = left + / 2;
if return mid;
else if left = mid + 1;
else right = mid - 1;
}
return left;
}
常见坑:边界、溢出、错误的比较符号
先说说Zui容易踩的坑——无限循环。
Ru果while条件写成, 当数组只有两个元素时可Neng会卡死。
Aha,那就改成<=, 咱们就安全了。
还有一个经常被忽视的小细节——中点计算。直接用/2
, 当数组hen长时会出现整数溢出。于是我们改成/2), 对吧?嗯,对,就是这样。
"我刚才说的是‘target’,不是‘taget’。" 哈哈,这种笔误在写代码注释里也会翻车呢!
复杂度分析:快慢kan这里!
时间复杂度 O
空间复杂度 O
顺带聊聊:为什么百度不收录?问:"我写了一篇关于二分查找的博客,可是百度搜索根本搜不到啊!"
答:"可Neng因为页面缺少关键字密度或者标题没有明确包含‘二分查找 插入位置’这些词。"
建议在里加上关键词;
内容要原创且结构清晰;
别忘了站内链接互相扶持呀!懂吗?哈哈~
拓展思考:二分查找还Neng干嘛?CFAO们经常问,我这段代码Neng不Neng直接搬去Zuo旋转有序数组Zui小值?
其实思路类似,只是比较方向变了而Yi。咱就是说把判断条件改成“mid对应值大于right对应值”,就Neng找到旋转点啦!
再比如要找到重复元素左右边界,同样用二分,只是每次dou记录下符合条件的位置,然后继续往左或往右搜。
说实话,这道题真的不难……但却hen重要!因为它锻炼你的“闭区间”思维,还帮你熟悉边界处理。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback