Leetcode 题解 - 二分查找 Leetcode 题解 - 二分查找 求开方 大于给定元素的最小元素 有序数组的 Single Element 第一个错误的版本 旋转数组的最小数字 查找区间 正常实现 时间复杂度 二分查找也称为折半查找,每次都能将查找区间减半,这种折半特性的算法时间复杂度为 O(logN)。 m 计算 有两种计算中值 m 的方式: m = (l + h) / 2 m = l + (h - l) / 2 l + h 可能出现加法溢出,也就是说加法的结果大于整型能够表示的范围。但是 l 和 h 都为正数,因此 h - l 不会出现加法溢出问题。所以,最好使用第二种计算法方法。 未成功查找的返回值 循环退出时如果仍然没有查找到 key,那么表示查找失败。