文章目录
二分查找详解
1.基本介绍
二分查找是什么呢?其实二分查找就是我们平时生活中为了搜索一个数用的一个最具有效率的方法。比如你不知道你支付宝里有多少钱,但是你大致记得在什么范围内,这个时候你就可以用二分查找的方法去确定这个数更加准确的范围。
本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。而且,我们就是要深入细节,比如不等号是否应该带等号,mid 是否应该加一等等。分析这些细节的差异以及出现这些差异的原因,保证你能灵活准确地写出正确的二分查找算法。
首先看下二分查找一般的框架。
int binarySearch(int[] nums, int target) {
int left = 0, right = ...;
while(...) {
int mid = left + (right - left) / 2;
if (nums[mid] == target)