Hot100:Search Insert Position 排序数组中目标值插入位置的二分查找实战(LeetCode 35)
副标题 / 摘要 Search Insert Position 是二分查找的「Hello World」级题目:返回目标值在有序数组中的插入位置(存在返回下标,不存在返回应插入的下标)。本文用统一的 lower_bound 模板,把这个问题讲清楚,并展示其在日志、配置和策略表中的工程应用。 预计阅读时长:8~10 分钟 适用场景标签:二分查找入门、插入位置、范围查找 SEO 关键词:search insert position, lower_bound, 二分插入, 排序数组插入位置, LeetCode 35, Hot100 目标读者与背景 目标读者 知道二分查找基本原理,但还没形成自己的模板的同学; 在工程中经常对有序列表做插入 / 查找操作的后端 / 前端开发者; 刚开始刷 LeetCode,想用一道题把「下界二分」吃透的人。 为什么这题重要? 它是 most basic 的「lower_bound」模型: 第一个大于等于目标值的下标。 理解它之后: 起始位置 / 插入位置 / 统计 ≤ / ≥ 某值数量等,都可以统一用同一个模板。 在工程中: 策略阈值表、时间戳列表、版本列表等,都会用到类似逻辑。 A — Algorithm(题目与算法) 题目重述 给定一个按非降序排序的整数数组 nums 和一个目标值 target。 请在数组中搜索 target,如果存在则返回其下标; 如果不存在,则返回它按顺序插入时应该在的位置。 要求算法时间复杂度为 O(log n)。 输入 nums: 已排序(非降序)的整数数组,长度为 n target: 目标整数 输出 ...