经典 Binary Search:在排序数组中查找目标值索引的统一模板(LeetCode 704)

副标题 / 摘要 二分查找是所有算法面试和工程系统中的“必修课”。本文以最基础的「在有序数组中查找目标值」为例,从题意、边界到统一模板,系统整理 Binary Search 的写法,并配套多语言实现,帮助你彻底告别二分边界恐惧症。 预计阅读时长:8~10 分钟 适用场景标签:二分查找基础、数组检索、性能优化 SEO 关键词:binary search, LeetCode 704, 二分查找模板, 有序数组目标索引 目标读者与背景 目标读者 刚开始系统刷题、希望夯实基础二分查找的同学; 在工程中经常需要在有序列表中查找、定位数据的后端 / 前端工程师; 曾经被二分查找的边界条件困扰、希望形成统一模板的开发者。 为什么这题值得认真学? 它是 LeetCode 704:Binary Search,二分查找的最基础版本; 几乎所有高级二分题(Search Range、插入位置、求上下界)都以此为内核; 大量工程场景(有序列表查找、策略表、时间线等)都可以套用这个模板。 A — Algorithm(题目与算法) 题目重述 给定一个按非降序排序的整数数组 nums 和一个整数 target。 请你在数组中查找 target,如果存在,则返回其下标;否则,返回 -1。 要求算法的时间复杂度为 O(log n)。 输入 nums: 已排序(非降序)的整数数组,长度为 n target: 要查找的整数 输出 若 target 存在于 nums 中,则返回其下标; 否则返回 -1。 示例 1 nums = [-1, 0, 3, 5, 9, 12] target = 9 数组中存在 9,且在下标 4: ...

2025年12月4日 · 6 分钟 · map[name:Jeanphilo]