leetcode刷题笔记——二分查找

模式识别:

有序或部分有序,基本使用二分搜索极其变种

算法:丢弃一半的数据

模板:

        while (left <= right) {
            int mid = (left + right) / 2;
            if (nums[mid] == target) {
                return mid;
            }
            else if (nums[mid] > target) {
                // 下一轮搜索区间:[left..mid - 1]
                right = mid - 1;
            } 
            else {
                // 此时 nums[mid] < target
                // 下一轮搜索区间:[mid + 1..right]
                left = mid + 1;
            }
        }

表达:

mid=left+(right-left)/2;
等价于
mid=left+(right-left)>>1;

你可能感兴趣的:(算法,leetcode,数据结构)