LeetCode算法之二分查找
前言
对于算法一直抱有恐惧感,觉得没有算法我也写了这么多代码,但周遭的环境让我感觉目前身为一名浅薄知识的敲代码的人,是需要去不断的汲取一些知识,所以就像大学学习英语单词一样,从Abandon开始,从查找开始。
二分查找
- 二分查找的前提:1.数组必须是有序的 2.数组中不存在重复元素
- 二分查找的边界:在写代码之前要清楚边界,才能确定循环条件到底是while(left <= right),还是while(left <
right),到底是middle = right -1,还是 middle = right
所以会以两种情况来写
var search = function(nums, target) {
let l = 0, r = nums.length - 1;//定义区间为[left, right]
while